def test_takeover(self): s1 = WorkSession.create(ts_now=test_now - datetime.timedelta(hours=12)) s1.sync() c = Client() c.login(username="******", password="******") # The index shows a session with can_continue = False res = c.get(reverse("session_index")) self.assertEquals(res.status_code, 200) self.assertIsNotNone(res.context["session"]) self.assertFalse(res.context["session"].can_continue) # Take it over: we succeed res = c.get(reverse("session_takeover", kwargs={"name": s1.name})) self.assertRedirects(res, reverse("monitor_show")) self.assertEquals(c.session.get("worksession_name", None), s1.name) self.assertEquals(c.session.get("worksession_readonly", None), False) s = WorkSession.load(s1.name) self.assertEquals(s.info.operator_key, c.session.session_key) # The index shows a session with can_continue = True res = c.get(reverse("session_index")) self.assertEquals(res.status_code, 200) self.assertIsNotNone(res.context["session"]) self.assertTrue(res.context["session"].can_continue)
def test_create(self): c = Client() c.login(username="******", password="******") res = c.get(reverse("session_create")) self.assertRedirects(res, reverse("monitor_show")) name = test_now.strftime("%Y%m%d-%H%M") self.assertTrue(os.path.isdir(os.path.join(self.tmpdir.name, "meteomixer-{}".format(name)))) s = WorkSession.load(name) self.assertTrue(s.is_open) self.assertEquals(c.session.get("worksession_name", None), name) self.assertEquals(c.session.get("worksession_readonly", None), False)
def _get_session_with_products(self): c = Client() c.login(username="******", password="******") res = c.get(reverse("session_create")) self.assertRedirects(res, reverse("monitor_show")) # Fill in the products directory name = test_now.strftime("%Y%m%d-%H%M") s = WorkSession.load(name) prods = list(s.products(update=True)) self.assertEquals(len(prods), 75) return c, s
def test_close_real(self): c = Client() c.login(username="******", password="******") res = c.get(reverse("session_create")) self.assertRedirects(res, reverse("monitor_show")) name = test_now.strftime("%Y%m%d-%H%M") self.assertEquals(c.session.get("worksession_name", None), name) self.assertEquals(c.session.get("worksession_readonly", None), False) res = c.get(reverse("session_close")) self.assertRedirects(res, reverse("session_index")) s = WorkSession.load(name) self.assertFalse(s.is_open)
def test_close_readonly(self): s1 = WorkSession.create(ts_now=test_now - datetime.timedelta(hours=12)) s1.sync() c = Client() c.login(username="******", password="******") res = c.get(reverse("session_view", kwargs={"name": s1.name})) self.assertRedirects(res, reverse("monitor_show")) self.assertEquals(c.session.get("worksession_name", None), s1.name) self.assertEquals(c.session.get("worksession_readonly", None), True) res = c.get(reverse("session_close")) self.assertRedirects(res, reverse("session_index")) s = WorkSession.load(s1.name) self.assertTrue(s.is_open)
def test_load(self): s = WorkSession.create() s.sync() s1 = WorkSession.load(s.name, readonly=True) s2 = WorkSession.load(s.name, readonly=False)