Ejemplo n.º 1
0
        public async Task TestOpen()
        {
            var file = await _fileProxy.OpenBinaryFile(Path.Combine(Directory.GetCurrentDirectory(), "Data", "TestDatabase.kdbx"));

            await _database.Open(file, _credentials);

            var rootGroup = _database.GetGroup(_database.RootGroupId);

            Assert.That(_database.Name, Is.EqualTo("TestDatabase"));
            Assert.That(rootGroup.Entries.Count, Is.EqualTo(2));
        }
Ejemplo n.º 2
0
            public async Task Handle(OpenDatabaseQuery message)
            {
                if (_database.IsDirty)
                {
                    throw new DatabaseOpenException();
                }

                var file = await _file.ReadBinaryFile(message.FilePath);

                var hasKeyFile = !string.IsNullOrEmpty(message.KeyFilePath);
                await _database.Open(file, new Credentials
                {
                    KeyFileContents = hasKeyFile ? await _file.ReadBinaryFile(message.KeyFilePath): null,
                    Password        = message.Password
                });

                if (hasKeyFile)
                {
                    _file.ReleaseFile(message.KeyFilePath);
                }
                _database.Size            = file.Length;
                _database.FileAccessToken = message.FilePath;
            }