Skip to content
Snippets Groups Projects
Commit 71e68476 authored by trav's avatar trav
Browse files

version number increase, changed privatekey getter

parent e0144c9c
No related branches found
Tags v1.0.4
No related merge requests found
Pipeline #11160 passed
__version__ = '1.0.0'
__version__ = '2.0.0'
name = "djangoldp_webpushnotification"
# Generated by Django 2.2.19 on 2021-04-07 14:38
# Generated by Django 2.2.19 on 2021-05-05 14:34
from django.db import migrations, models
......@@ -15,7 +15,7 @@ class Migration(migrations.Migration):
name='VAPIDKeyset',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('private_key', models.BinaryField(max_length=43)),
('_private_key', models.BinaryField(max_length=43)),
],
),
]
......@@ -5,7 +5,13 @@ from ecdsa import NIST256p, SigningKey
class VAPIDKeyset(models.Model):
private_key = models.BinaryField(max_length=43)
_private_key = models.BinaryField(max_length=43)
@property
def private_key(self):
if isinstance(self._private_key, memoryview):
return self._private_key.tobytes()
return self._private_key
def __str__(self):
return "public_key:{}... private_key:{}...".format(
......@@ -15,8 +21,6 @@ class VAPIDKeyset(models.Model):
@property
def public_key(self):
key_str = self.private_key
if isinstance(self.private_key, memoryview):
key_str = key_str.tobytes()
padding = len(key_str) % 4
key_str += b"=" * padding
key = SigningKey.from_string(
......
......@@ -23,7 +23,7 @@ class TestAcceptSubscription(TestCase):
def gen_vapid_key(self):
generated = SigningKey.generate(curve=NIST256p)
encoded = urlsafe_b64encode(generated.to_string()).strip(b"=")
return VAPIDKeyset.objects.create(private_key=memoryview(encoded))
return VAPIDKeyset.objects.create(_private_key=encoded)
def test_accept_sub(self):
self.client.force_login(self.user)
......
......@@ -23,7 +23,7 @@ class TestSendWebPush(TestCase):
def gen_vapid_key(self):
generated = SigningKey.generate(curve=NIST256p)
encoded = urlsafe_b64encode(generated.to_string()).strip(b"=")
return VAPIDKeyset.objects.create(private_key=memoryview(encoded))
return VAPIDKeyset.objects.create(_private_key=encoded)
def test_no_matching_user(self):
self.client.force_login(self.user)
......
......@@ -9,6 +9,6 @@ class TestVAPIDKeySet(TestCase):
def test_vapidkeyset_public_key(self):
priv_key = SigningKey.generate(curve=NIST256p)
vapid_key_set = VAPIDKeyset.objects.create(
private_key=urlsafe_b64encode(priv_key.to_string()).strip(b"=")
_private_key=urlsafe_b64encode(priv_key.to_string()).strip(b"=")
)
assert isinstance(vapid_key_set.public_key, bytes)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment