public void Parse_returns_empty_vault_and_no_private_key(string json) { var(accounts, privateKey) = VaultParser.Parse(JObject.Parse(json)); Assert.Empty(accounts); Assert.Null(privateKey); }
public void FindNamedItem_returns_item(string json) { var item = VaultParser.FindNamedItem(JArray.Parse(json), "blah"); Assert.NotNull(item); Assert.Equal("blah", (string)item["i"]["n"]); }
public void Parse_returns_accounts_and_private_key(string fixture) { var(accounts, privateKey) = VaultParser.Parse(JObject.Parse(GetFixture(fixture))); Assert.NotEmpty(accounts); Assert.NotNull(privateKey); }
public void Parse_prepends_parent_path(string fixture) { var parentPath = "blah/blah-blah"; var(accounts, _) = VaultParser.Parse(JObject.Parse(GetFixture(fixture)), parentPath); foreach (var account in accounts) { Assert.StartsWith(parentPath, account.Path); } }
public void ParseAccount_returns_dummy_account_when_parsing_fails() { var json = "~~~not-a-json~~~"; var account = VaultParser.ParseAccount(json, "blah", "blah-blah"); Assert.Equal("blah", account.Name); Assert.Equal("blah-blah", account.Path); Assert.Equal("failed to parse", account.Url); Assert.Equal("failed to parse", account.GuessedUsername); Assert.Equal("failed to parse", account.GuessedPassword); }
public void ParseAccount_returns_parsed_account() { var json = "{\"p\":true,\"pwd\":\"passw0rd\",\"n\":\"\",\"g\":\"https://app.asana.com/\",\"m\":\"https://app.asana.com/\",\"f\":[{\"n\":\"e\",\"c\":\"\",\"d\":false,\"i\":0,\"t\":1,\"v\":\"[email protected]\",\"id\":\"email_input\"},{\"n\":\"p\",\"c\":\"\",\"d\":false,\"i\":0,\"t\":2,\"v\":\"faroutman\",\"id\":\"password_input\"},{\"n\":\"Submit$\",\"c\":\"\",\"d\":false,\"i\":0,\"t\":0,\"v\":\"555:692:login::0:Log In\\n\",\"id\":\"\"}]}"; var account = VaultParser.ParseAccount(json, "blah", "blah-blah"); Assert.Equal("blah", account.Name); Assert.Equal("blah-blah", account.Path); Assert.Equal("https://app.asana.com/", account.Url); Assert.Equal("*****@*****.**", account.GuessedUsername); Assert.Equal("faroutman", account.GuessedPassword); }
public void Parse_returns_vault() { var vault = VaultParser.Parse(JObject.Parse(TestData.DecryptedBlob)); Assert.That(vault.Accounts.Length, Is.GreaterThan(1)); }
public void Parse_throws_when_root_folder_is_invalid(string json) { Exceptions.AssertThrowsInternalError(() => VaultParser.Parse(JObject.Parse(json)), "Invalid format: root folder not found"); }
public void Parse_returns_no_private_key(string json) { var(_, privateKey) = VaultParser.Parse(JObject.Parse(json)); Assert.Null(privateKey); }
public void Parse_returns_empty_vault(string json) { var(accounts, _) = VaultParser.Parse(JObject.Parse(json)); Assert.Empty(accounts); }
public void FindNamedItem_returns_null(string json) { var item = VaultParser.FindNamedItem(JArray.Parse(json), "blah"); Assert.Null(item); }
public void GetFolderContent_returns_null(string json) { var content = VaultParser.GetFolderContent(JObject.Parse(json)); Assert.Null(content); }
public void IsFolder_returns_expected_result(string json, bool expected) { var result = VaultParser.IsFolder(JObject.Parse(json)); Assert.Equal(expected, result); }
public void Parse_throws_when_item_info_block_is_invalid(string json) { Exceptions.AssertThrowsInternalError(() => VaultParser.Parse(JObject.Parse(RootPrefix + json + RootSuffix)), "Invalid format: item info block not found"); }