summaryrefslogtreecommitdiff
path: root/tests/core
diff options
context:
space:
mode:
Diffstat (limited to 'tests/core')
-rw-r--r--tests/core/re.chrysalide.tests.secstorage.gschema.xml15
-rw-r--r--tests/core/secstorage.py150
2 files changed, 0 insertions, 165 deletions
diff --git a/tests/core/re.chrysalide.tests.secstorage.gschema.xml b/tests/core/re.chrysalide.tests.secstorage.gschema.xml
deleted file mode 100644
index 6afa96b..0000000
--- a/tests/core/re.chrysalide.tests.secstorage.gschema.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<schemalist>
-
- <schema id="re.chrysalide.tests.secstorage" path="/re/chrysalide/tests/secstorage/">
-
- <key name="salt" type="ay">
- <default>[]</default>
- </key>
-
- <key name="master" type="ay">
- <default>[]</default>
- </key>
-
- </schema>
-
-</schemalist>
diff --git a/tests/core/secstorage.py b/tests/core/secstorage.py
deleted file mode 100644
index 1f82388..0000000
--- a/tests/core/secstorage.py
+++ /dev/null
@@ -1,150 +0,0 @@
-
-import gi
-import os
-import subprocess
-
-from chrysacase import ChrysalideTestCase
-from pychrysalide import core
-from gi.repository import Gio, GLib
-
-
-class TestSecretStorage(ChrysalideTestCase):
- """TestCase for secret storage features."""
-
- @classmethod
- def setUpClass(cls):
-
- super(TestSecretStorage, cls).setUpClass()
-
- cls.log('Creating GSettings schema...')
-
- path = os.path.dirname(os.path.realpath(__file__))
-
- subprocess.run([ 'glib-compile-schemas', path ])
-
- os.environ['GSETTINGS_SCHEMA_DIR'] = path + ':' + os.environ['GSETTINGS_SCHEMA_DIR']
-
-
- @classmethod
- def tearDownClass(cls):
-
- super(TestSecretStorage, cls).tearDownClass()
-
- cls.log('Removing compiled GSettings schema...')
-
- os.environ['GSETTINGS_SCHEMA_DIR'] = ':'.join(os.environ['GSETTINGS_SCHEMA_DIR'].split(':')[1:])
-
- path = os.path.dirname(os.path.realpath(__file__))
-
- filename = os.path.join(path, 'gschemas.compiled')
-
- if os.path.exists(filename):
- os.remove(filename)
-
-
- def testMasterKeyDefinition(self):
- """Check for cryptographic parameters for secret storage."""
-
- settings = Gio.Settings.new('re.chrysalide.tests.secstorage')
-
- settings.reset('master')
-
- self.assertEqual(len(settings.get_value('master').unpack()), 0)
-
- self.assertFalse(core.has_secret_storage_key(settings))
-
- settings.set_value('master', GLib.Variant('ay', b'ABC'))
-
- self.assertFalse(core.has_secret_storage_key(settings))
-
- settings.set_value('master', GLib.Variant('ay', b'A' * 23))
-
- self.assertTrue(core.has_secret_storage_key(settings))
-
-
- def testMasterKeyCreation(self):
- """Create and update cryptographic parameters for secret storage."""
-
- settings = Gio.Settings.new('re.chrysalide.tests.secstorage')
-
- settings.reset('salt')
- settings.reset('master')
-
- status = core.has_secret_storage_key(settings)
-
- self.assertFalse(status);
-
- status = core.set_secret_storage_password(settings, '')
-
- self.assertTrue(status);
-
- status = core.has_secret_storage_key(settings)
-
- self.assertTrue(status);
-
- status = core.is_secret_storage_locked(settings)
-
- self.assertTrue(status)
-
- status = core.unlock_secret_storage(settings, '')
-
- self.assertTrue(status)
-
- status = core.is_secret_storage_locked(settings)
-
- self.assertFalse(status)
-
- core.lock_secret_storage(settings)
-
- status = core.is_secret_storage_locked(settings)
-
- self.assertTrue(status)
-
- status = core.unlock_secret_storage(settings, 'XXX')
-
- self.assertFalse(status)
-
- status = core.is_secret_storage_locked(settings)
-
- self.assertTrue(status)
-
-
- def testDataEncryption(self):
- """Create and update cryptographic parameters for secret storage."""
-
- settings = Gio.Settings.new('re.chrysalide.tests.secstorage')
-
- settings.reset('salt')
- settings.reset('master')
-
- status = core.set_secret_storage_password(settings, '<s3cUre>')
-
- self.assertTrue(status);
-
- status = core.unlock_secret_storage(settings, '<s3cUre>')
-
- self.assertTrue(status)
-
-
- original = b'ABC'
-
- encrypted = core.encrypt_secret_storage_data(original, settings)
-
- self.assertIsNotNone(encrypted)
-
- plain = core.decrypt_secret_storage_data(encrypted, settings)
-
- self.assertIsNotNone(plain)
- self.assertEqual(original, plain)
-
-
- original = b'A' * 136
-
- encrypted = core.encrypt_secret_storage_data(original, settings)
-
- self.assertIsNotNone(encrypted)
-
- plain = core.decrypt_secret_storage_data(encrypted, settings)
-
- self.assertIsNotNone(plain)
- self.assertEqual(original, plain)