Skip to content

Commit

Permalink
Remove Vault model, hang entries directly to user. Remove slug helpers
Browse files Browse the repository at this point in the history
  • Loading branch information
EnTeQuAk committed Mar 20, 2016
1 parent bc2bf36 commit 83b605d
Show file tree
Hide file tree
Showing 9 changed files with 50 additions and 148 deletions.
2 changes: 1 addition & 1 deletion src/keybar/apps.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ class KeybarConfig(AppConfig):
verbose_name = _('Keybar')

def ready(self):
from keybar.models import user, vault, entry, device # noqa
from keybar.models import user, entry, device # noqa
34 changes: 34 additions & 0 deletions src/keybar/migrations/0009_auto_20160320_1533.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.4 on 2016-03-20 15:33
from __future__ import unicode_literals

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

dependencies = [
('keybar', '0008_auto_20160320_0836'),
]

operations = [
migrations.RemoveField(
model_name='vault',
name='owner',
),
migrations.RemoveField(
model_name='entry',
name='vault',
),
migrations.AddField(
model_name='entry',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='entries', to=settings.AUTH_USER_MODEL),
preserve_default=False,
),
migrations.DeleteModel(
name='Vault',
),
]
2 changes: 1 addition & 1 deletion src/keybar/models/entry.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@


class Entry(KeybarModel):
vault = models.ForeignKey('keybar.Vault', related_name='entries')
user = models.ForeignKey('keybar.User', related_name='entries')

title = models.TextField(_('Title'), blank=True, default='')
url = models.URLField(blank=True, default='')
Expand Down
24 changes: 0 additions & 24 deletions src/keybar/models/vault.py

This file was deleted.

4 changes: 2 additions & 2 deletions src/keybar/tests/factories/entry.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
import factory

from keybar.models.entry import Entry
from keybar.tests.factories.vault import VaultFactory
from keybar.tests.factories.user import UserFactory


class EntryFactory(factory.DjangoModelFactory):
vault = factory.SubFactory(VaultFactory)
user = factory.SubFactory(UserFactory)

class Meta:
model = Entry
13 changes: 0 additions & 13 deletions src/keybar/tests/factories/vault.py

This file was deleted.

21 changes: 12 additions & 9 deletions src/keybar/tests/models/test_entry.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from keybar.models.entry import Entry
from keybar.tests.factories.device import PRIVATE_KEY, PRIVATE_KEY2, DeviceFactory
from keybar.tests.factories.entry import EntryFactory
from keybar.tests.factories.vault import VaultFactory
from keybar.tests.factories.user import UserFactory


@pytest.mark.django_db
Expand All @@ -14,9 +14,9 @@ class TestEntry:
def setup(self):
self.device = DeviceFactory.create()

def test_has_vault(self):
def test_has_user(self):
entry = EntryFactory.create()
assert entry.vault is not None
assert entry.user is not None

def test_identifier_can_be_blank(self):
entry = EntryFactory.create()
Expand Down Expand Up @@ -45,22 +45,25 @@ def test_entry_can_have_tags(self):
assert Entry.objects.get(pk=entry.pk).tags == ['tag1']

def test_values_can_contain_arbitrary_byte_values(self):
vault = VaultFactory.create()
entry = Entry.create(self.device.id, {'password': b'secret'}, vault=vault)
entry = Entry.create(
self.device.id, {'password': b'secret'},
user=UserFactory.create())

assert entry.salt is not None
assert tuple(entry.values.keys()) == ('password',)

def test_create_decrypt(self):
vault = VaultFactory.create()
entry = Entry.create(self.device.id, {'password': 'secret'}, vault=vault)
entry = Entry.create(
self.device.id, {'password': 'secret'},
user=UserFactory.create())

assert entry.salt is not None
assert entry.decrypt('password', self.device, PRIVATE_KEY) == b'secret'

def test_create_decrypt_wrong_private_key(self):
vault = VaultFactory.create()
entry = Entry.create(self.device.id, {'password': 'secret'}, vault=vault)
entry = Entry.create(
self.device.id, {'password': 'secret'},
user=UserFactory.create())

assert entry.salt is not None
assert entry.decrypt('password', self.device, PRIVATE_KEY2) is None
19 changes: 0 additions & 19 deletions src/keybar/tests/models/test_vault.py

This file was deleted.

79 changes: 0 additions & 79 deletions src/keybar/utils/db/slug.py

This file was deleted.

0 comments on commit 83b605d

Please sign in to comment.