Esempio n. 1
0
    def test_ttl(self):
        with freeze_time(499162800):
            instance = EncryptedTTLIntegerModel(field=42)
            instance.save()

        with freeze_time(123456789):
            loaded = EncryptedTTLIntegerModel.objects.get()
            self.assertIs(loaded.field, Expired)
    def test_ttl(self):
        with freeze_time(499162800):
            instance = EncryptedTTLIntegerModel(field=42)
            instance.save()

        with freeze_time(123456789):
            loaded = EncryptedTTLIntegerModel.objects.get()
            self.assertIs(loaded.field, Expired)
Esempio n. 3
0
    def test_standard_fernet(self):
        key = 'cw_0x689RpI-jtRR7oE8h_eQsKImvJapLeSbXpwF4e4='
        data = ('gAAAAAAdwJ6wAAECAwQFBgcICQoLDA0ODy021cpGVWKZ_eEwCG'
                'M4BLLF_5CV9dOPmrhuVUPgJobwOz7JcbmrR64jVmpU4IwqDA==')
        with freeze_time(499162800):
            fernet = Fernet(key)
            self.assertEqual(fernet.decrypt(data, 60), b'hello')

        with freeze_time(123456789):
            fernet = Fernet(key)
            with self.assertRaises(signing.SignatureExpired):
                self.assertEqual(fernet.decrypt(data, 60), b'hello')
Esempio n. 4
0
    def test_timestamp_signer(self):
        value = 'hello'
        with freeze_time(123456789):
            signer = signing.TimestampSigner('predictable-key')
            ts = signer.sign(value)
            self.assertNotEqual(ts,
                signing.Signer('predictable-key').sign(value))
            self.assertEqual(signer.unsign(ts), value)

        with freeze_time(123456800):
            self.assertEqual(signer.unsign(ts, max_age=12), value)
            # max_age parameter can also accept a datetime.timedelta object
            self.assertEqual(signer.unsign(ts, max_age=datetime.timedelta(seconds=11)), value)
            self.assertRaises(signing.SignatureExpired, signer.unsign, ts, max_age=10)
Esempio n. 5
0
    def test_max_age_argument(self):
        value = 'hello'
        with freeze_time(123456789):
            response = HttpResponse()
            response.set_signed_cookie('c', value)
            request = HttpRequest()
            request.COOKIES['c'] = response.cookies['c'].value
            self.assertEqual(request.get_signed_cookie('c'), value)

        with freeze_time(123456800):
            self.assertEqual(request.get_signed_cookie('c', max_age=12), value)
            self.assertEqual(request.get_signed_cookie('c', max_age=11), value)
            with self.assertRaises(signing.SignatureExpired):
                request.get_signed_cookie('c', max_age=10)
Esempio n. 6
0
    def test_max_age_argument(self):
        value = 'hello'
        with freeze_time(123456789):
            response = HttpResponse()
            response.set_signed_cookie('c', value)
            request = HttpRequest()
            request.COOKIES['c'] = response.cookies['c'].value
            self.assertEqual(request.get_signed_cookie('c'), value)

        with freeze_time(123456800):
            self.assertEqual(request.get_signed_cookie('c', max_age=12), value)
            self.assertEqual(request.get_signed_cookie('c', max_age=11), value)
            self.assertRaises(signing.SignatureExpired,
                request.get_signed_cookie, 'c', max_age=10)
Esempio n. 7
0
    def test_timestamp_signer(self):
        value = 'hello'
        with freeze_time(123456789):
            signer = signing.TimestampSigner('predictable-key')
            ts = signer.sign(value)
            self.assertNotEqual(ts,
                signing.Signer('predictable-key').sign(value))
            self.assertEqual(signer.unsign(ts), value)

        with freeze_time(123456800):
            self.assertEqual(signer.unsign(ts, max_age=12), value)
            # max_age parameter can also accept a datetime.timedelta object
            self.assertEqual(signer.unsign(ts, max_age=datetime.timedelta(seconds=11)), value)
            self.assertRaises(signing.SignatureExpired, signer.unsign, ts, max_age=10)
Esempio n. 8
0
    def test_encrypt_decrypt(self):
        key = 'cw_0x689RpI-jtRR7oE8h_eQsKImvJapLeSbXpwF4e4='
        value = b'hello'
        iv = b'0123456789abcdef'
        data = (b'gAAAAAAdwJ6wMDEyMzQ1Njc4OWFiY2RlZjYYKxzJY4VTm9YIi4'
                b'Pp6o_RvhRbEt-VW6a0zE-ys6tS1_2Xd2011mjXrVrMV0QfRA==')
        with freeze_time(499162800):
            fernet = Fernet(key)
            self.assertEqual(data, fernet._encrypt_from_parts(value, iv))
            self.assertEqual(value, fernet.decrypt(data, 60))

        with freeze_time(123456789):
            fernet = Fernet(key)
            with self.assertRaises(signing.SignatureExpired):
                fernet.decrypt(data, 60)
    def test_encrypt_decrypt(self):
        key = 'cw_0x689RpI-jtRR7oE8h_eQsKImvJapLeSbXpwF4e4='
        value = b'hello'
        iv = b'0123456789abcdef'
        data = (b'gAAAAAAdwJ6wMDEyMzQ1Njc4OWFiY2RlZjYYKxzJY4VTm9YIi4'
                b'Pp6o_RvhRbEt-VW6a0zE-ys6tS1_2Xd2011mjXrVrMV0QfRA==')
        with freeze_time(499162800):
            fernet = Fernet(key)
            self.assertEqual(data, fernet._encrypt_from_parts(value, iv))
            self.assertEqual(value, fernet.decrypt(data, 60))

        with freeze_time(123456789):
            fernet = Fernet(key)
            with self.assertRaises(signing.SignatureExpired):
                fernet.decrypt(data, 60)
Esempio n. 10
0
def test_session_expires(req):
    def view(request):
        assert request.session.is_empty()
        return HttpResponse()

    with freeze_time(SESSION_EXPIRATION_SECONDS + 1):
        handle_request(req, view, TEST_SESSION_DATA)
    def setUp(self):
        super().setUp()
        self.compute_task_def = self._get_deserialized_compute_task_def(
            kwargs={
                'deadline': "2017-12-01 11:00:00",
                'task_id': self._get_uuid(),
            }, )

        self.task_to_compute_timestamp = "2017-12-01 10:00:00"
        self.task_to_compute = self._get_deserialized_task_to_compute(
            timestamp=self.task_to_compute_timestamp,
            compute_task_def=self.compute_task_def,
        )

        self.report_computed_task_timestamp = "2017-12-01 11:01:00"
        self.report_computed_task = self._get_deserialized_report_computed_task(
            timestamp=self.report_computed_task_timestamp,
            task_to_compute=self.task_to_compute,
        )

        with freeze_time(self.task_to_compute_timestamp):
            self.force_get_task_result = message.concents.ForceGetTaskResult(
                report_computed_task=self.report_computed_task, )

        self.provider_public_key = hex_to_bytes_convert(
            self.task_to_compute.provider_public_key)
        self.requestor_public_key = hex_to_bytes_convert(
            self.task_to_compute.requestor_public_key)
Esempio n. 12
0
def test_session_lasts_until_expiration(req):
    def view(request):
        assert request.session.get(TEST_SESSION_KEY) == TEST_SESSION_VALUE
        return HttpResponse()

    with freeze_time(SESSION_EXPIRATION_SECONDS - 1):
        handle_request(req, view, TEST_SESSION_DATA)
Esempio n. 13
0
 def test_decryptor_invalid_token(self):
     data = ('8000000000075bcd153031323334353637383961626364656629b930b1955'
             'ddaec2d74fb4ff565d549d94cc75de940d1d25507f30763f05c412390d15d'
             'a26bccee69f1b4543e75')
     with freeze_time(123456789):
         fernet = FernetBytes()
         with self.assertRaises(InvalidToken):
             fernet.decrypt(binascii.unhexlify(data))
Esempio n. 14
0
 def test_unpadder_invalid_token(self):
     data = ('8000000000075bcd15303132333435363738396162636465660ecd40b0f64'
             '8f001b78b5a77b334b40fbbff559444b3325233e71c24e53f6028116b0377'
             'b910ebe5498396de36dee59b')
     with freeze_time(123456789):
         fernet = FernetBytes()
         with self.assertRaises(InvalidToken):
             fernet.decrypt(binascii.unhexlify(data))
Esempio n. 15
0
 def test_decryptor_invalid_token(self):
     data = ('8000000000075bcd153031323334353637383961626364656629b930b1955'
             'ddaec2d74fb4ff565d549d94cc75de940d1d25507f30763f05c412390d15d'
             'a26bccee69f1b4543e75')
     with freeze_time(123456789):
         fernet = FernetBytes()
         with self.assertRaises(InvalidToken):
             fernet.decrypt(binascii.unhexlify(data))
Esempio n. 16
0
 def test_unpadder_invalid_token(self):
     data = ('8000000000075bcd15303132333435363738396162636465660ecd40b0f64'
             '8f001b78b5a77b334b40fbbff559444b3325233e71c24e53f6028116b0377'
             'b910ebe5498396de36dee59b')
     with freeze_time(123456789):
         fernet = FernetBytes()
         with self.assertRaises(InvalidToken):
             fernet.decrypt(binascii.unhexlify(data))
Esempio n. 17
0
 def test_max_age_expiration(self):
     """Cookie will expire if max_age is provided."""
     response = HttpResponse()
     set_cookie_time = time.time()
     with freeze_time(set_cookie_time):
         response.set_cookie('max_age', max_age=10)
     max_age_cookie = response.cookies['max_age']
     self.assertEqual(max_age_cookie['max-age'], 10)
     self.assertEqual(max_age_cookie['expires'], http_date(set_cookie_time + 10))
Esempio n. 18
0
    def test_fernet_signer(self):
        value = b'hello'
        with freeze_time(123456789):
            signer = signing.FernetSigner('predictable-key')
            ts = signer.sign(value)
            self.assertEqual(signer.unsign(ts), value)

        with freeze_time(123456800 + signing._MAX_CLOCK_SKEW):
            self.assertEqual(signer.unsign(ts, ttl=12), value)
            # max_age parameter can also accept a datetime.timedelta object
            self.assertEqual(
                signer.unsign(ts, ttl=datetime.timedelta(seconds=11)), value)
            with self.assertRaises(signing.SignatureExpired):
                signer.unsign(ts, ttl=10)

        with freeze_time(123456778 - signing._MAX_CLOCK_SKEW):
            with self.assertRaises(signing.SignatureExpired):
                signer.unsign(ts, ttl=10)
Esempio n. 19
0
    def test_fernet_signer(self):
        value = b'hello'
        with freeze_time(123456789):
            signer = signing.FernetSigner('predictable-key')
            ts = signer.sign(value)
            self.assertEqual(signer.unsign(ts), value)

        with freeze_time(123456800 + signing._MAX_CLOCK_SKEW):
            self.assertEqual(signer.unsign(ts, ttl=12), value)
            # max_age parameter can also accept a datetime.timedelta object
            self.assertEqual(
                signer.unsign(ts, ttl=datetime.timedelta(seconds=11)), value)
            with self.assertRaises(signing.SignatureExpired):
                signer.unsign(ts, ttl=10)

        with freeze_time(123456778 - signing._MAX_CLOCK_SKEW):
            with self.assertRaises(signing.SignatureExpired):
                signer.unsign(ts, ttl=10)
Esempio n. 20
0
File: tests.py Progetto: 01-/django
 def test_max_age_expiration(self):
     "Cookie will expire if max_age is provided"
     response = HttpResponse()
     set_cookie_time = time.time()
     with freeze_time(set_cookie_time):
         response.set_cookie('max_age', max_age=10)
     max_age_cookie = response.cookies['max_age']
     self.assertEqual(max_age_cookie['max-age'], 10)
     self.assertEqual(max_age_cookie['expires'], cookie_date(set_cookie_time + 10))
Esempio n. 21
0
    def test_max_age_argument(self):
        value = "hello"
        with freeze_time(123456789):
            response = HttpResponse()
            response.set_signed_cookie("c", value)
            request = HttpRequest()
            request.COOKIES["c"] = response.cookies["c"].value
            self.assertEqual(request.get_signed_cookie("c"), value)

        with freeze_time(123456800):
            self.assertEqual(request.get_signed_cookie("c", max_age=12), value)
            self.assertEqual(request.get_signed_cookie("c", max_age=11), value)
            self.assertEqual(
                request.get_signed_cookie("c", max_age=timedelta(seconds=11)),
                value)
            with self.assertRaises(signing.SignatureExpired):
                request.get_signed_cookie("c", max_age=10)
            with self.assertRaises(signing.SignatureExpired):
                request.get_signed_cookie("c", max_age=timedelta(seconds=10))
Esempio n. 22
0
 def test_encrypt_decrypt(self):
     value = b'hello'
     iv = b'0123456789abcdef'
     data = ('8000000000075bcd153031323334353637383961626364656629b930b1955'
             'ddaec2d74fb4ff565280abdc39baf116e80f116496cde9515bd7d938e5c74'
             'd60bc186286e701ba4fb4004')
     with freeze_time(123456789):
         fernet = FernetBytes()
         self.assertEqual(fernet._encrypt_from_parts(value, iv),
                          binascii.unhexlify(data))
         self.assertEqual(fernet.decrypt(binascii.unhexlify(data)), value)
Esempio n. 23
0
 def test_encrypt_decrypt(self):
     value = b'hello'
     iv = b'0123456789abcdef'
     data = ('8000000000075bcd153031323334353637383961626364656629b930b1955'
             'ddaec2d74fb4ff565280abdc39baf116e80f116496cde9515bd7d938e5c74'
             'd60bc186286e701ba4fb4004')
     with freeze_time(123456789):
         fernet = FernetBytes()
         self.assertEqual(fernet._encrypt_from_parts(value, iv),
                          binascii.unhexlify(data))
         self.assertEqual(fernet.decrypt(binascii.unhexlify(data)), value)
Esempio n. 24
0
def test_session_activity_updates(req):
    def view(request):
        return HttpResponse()

    request_time = 1000

    with freeze_time(request_time):
        handle_request(req, view, TEST_SESSION_DATA)

    assert req.session[TEST_SESSION_KEY] == TEST_SESSION_VALUE
    assert req.session[SESSION_EXPIRATION_KEY] == request_time
Esempio n. 25
0
 def test_max_age_expiration(self):
     "Cookie will expire if max_age is provided"
     response = HttpResponse()
     set_cookie_time = time.time()
     with freeze_time(set_cookie_time):
         response.set_cookie('max_age', max_age=10)
     max_age_cookie = response.cookies['max_age']
     self.assertEqual(max_age_cookie['max-age'], 10)
     # Django2.2 use http_date Django1.11 use cookie_date
     self.assertIn(max_age_cookie['expires'],
                   (http_date(set_cookie_time + 10),
                    cookie_date(set_cookie_time + 10)))