Esempio n. 1
0
    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)
Esempio n. 2
0
 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)
Esempio n. 3
0
    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
Esempio n. 4
0
    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)
Esempio n. 5
0
    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)
Esempio n. 6
0
 def test_load(self):
     s = WorkSession.create()
     s.sync()
     s1 = WorkSession.load(s.name, readonly=True)
     s2 = WorkSession.load(s.name, readonly=False)