public void EnsureMainMethodWorks() { string originalEncoded = @"0812561ae6bd42cfb7bee1311a29893508e71c340912e4614f3d9e6c61dccdd5af228051eb4373170A058394b17ac301086ef72ac5367180eb051040d4241e426bbde12bca805f665227e8060234ec07042859ffbc0202b4ed0304bdadb4e00402de60"; string[] requestedTags = { "0x01", "0x03", "0x04", "0x05", "0x06", "0x0a" }; string hash = BerTlvLogic.GetBase64UrlHashFromEncodedStringForGivenTags(requestedTags, originalEncoded); Assert.AreEqual(@"EQ9q1Hjyr_pfSBj1_M2vqAMFH-MYhP2zwhgYfC8u8-g", hash); }
public void AllTagsAreMissing() { string originalEncoded = @"0812561ae6bd42cfb7bee1311a29893508e71c340912e4614f3d9e6c61dccdd5af228051eb4373170A058394b17ac301086ef72ac5367180eb051040d4241e426bbde12bca805f665227e8060234ec07042859ffbc0202b4ed0304bdadb4e00402de60"; string[] requestedTags = { "0xaa", "0xba" }; List <string> extractedValues = BerTlvLogic.ExtractSortedRequestedTagsFromString(requestedTags, originalEncoded); Assert.AreEqual(0, extractedValues.Count); }
public void HashStreamWithEmptyString() { string startString = ""; using (Stream temp = new MemoryStream(Encoding.UTF8.GetBytes(startString))) { Assert.AreEqual(@"DldRwCblQ7Loqy6wYJnaodHl30d3j3eH-qtFzfEv46g", BerTlvLogic.ComputeBase64Blake2bHashInBuffers(temp)); } }
public void ExtractTagsFromCorruptedString() { string originalEncoded = @"ThisIsClearlyNotBerTlvEncoded"; string[] requestedTags = { "0x01", "0x03", "0x04", "0x05", "0x06", "0x0a", "0xaa" }; List <string> extractedValues = BerTlvLogic.ExtractSortedRequestedTagsFromString(requestedTags, originalEncoded); Assert.AreEqual(0, extractedValues.Count); }
public void HashStreamWithSmallBuffer() { string startString = "6EF72AC5367180EB.BDADB4E0.DE60.40D4241E426BBDE12BCA805F665227E8.34EC.8394B17AC3"; using (Stream temp = new MemoryStream(Encoding.UTF8.GetBytes(startString))) { Assert.AreEqual(@"EQ9q1Hjyr_pfSBj1_M2vqAMFH-MYhP2zwhgYfC8u8-g", BerTlvLogic.ComputeBase64Blake2bHashInBuffers(temp, 32, 1)); } }
public void ConcatenatePopulatedListToUpper() { Assert.AreEqual("A.B.C.D.E.F", BerTlvLogic.CreateFullstopSeparatedString(new List <string> { "a", "b", "c", "D", "e", "F" })); }
public void ConcatenatePopulatedList() { Assert.AreEqual("6EF72AC5367180EB.BDADB4E0.DE60.40D4241E426BBDE12BCA805F665227E8.34EC.8394B17AC3", BerTlvLogic.CreateFullstopSeparatedString(new List <string> { "6EF72AC5367180EB", "BDADB4E0", "DE60", "40D4241E426BBDE12BCA805F665227E8", "34EC", "8394B17AC3" })); }
static void Main(string[] args) { #region Read Data from Config File string encodedString = ConfigurationManager.AppSettings[ConfigKeys.EncodedStringKey]; if (String.IsNullOrWhiteSpace(encodedString)) { Console.WriteLine($"Missing {ConfigKeys.EncodedStringKey} value in ConfigFile. Current Value is: {encodedString}. Press any Key to Exit."); Console.ReadKey(); return; } string tagIds = ConfigurationManager.AppSettings[ConfigKeys.TagsIdKey]; if (String.IsNullOrWhiteSpace(tagIds)) { Console.WriteLine($"Missing {ConfigKeys.TagsIdKey} value in ConfigFile. Current Value is: {tagIds}. Press any Key to Exit."); Console.ReadKey(); return; } string[] requestedTags = tagIds.Split(new char[] { ',' }); if (requestedTags == null || requestedTags.Length < 1) { Console.WriteLine($"No tags to extract. TagIds obtained from Config file are: {tagIds}. Press any Key to Exit."); Console.ReadKey(); return; } #endregion #region Get hash from values extracted try { string hash = BerTlvLogic.GetBase64UrlHashFromEncodedStringForGivenTags(requestedTags, encodedString); Console.WriteLine($"Extracted hash: {hash} from Encoded String: {encodedString} for tags: {String.Join(",", requestedTags)}. Press any Key to Exit."); Console.ReadKey(); return; } catch (Exception ex) { Console.WriteLine($"Exception thrown when trying to Convert String: {encodedString} for tags: {String.Join(",", requestedTags)}. Exception is: {ex.Message}. Press any Key to Exit."); Console.ReadKey(); return; } #endregion }
public void ConvertNotAHex() { Assert.AreEqual(10, BerTlvLogic.HexadecimalToInteger("NotAHex")); }
public void ConvertEmpty() { Assert.AreEqual(10, BerTlvLogic.HexadecimalToInteger("")); }
public void Convert10() { Assert.AreEqual(10, BerTlvLogic.HexadecimalToInteger("0x0a")); }
public void Convert6() { Assert.AreEqual(6, BerTlvLogic.HexadecimalToInteger("0x06")); }
public void Convert5() { Assert.AreEqual(5, BerTlvLogic.HexadecimalToInteger("0x05")); }
public void Convert4() { Assert.AreEqual(4, BerTlvLogic.HexadecimalToInteger("0x04")); }
public void Convert3Trimmed() { Assert.AreEqual(3, BerTlvLogic.HexadecimalToInteger(" 0x03 ")); }
public void ConcatenateEmptyList() { Assert.AreEqual(String.Empty, BerTlvLogic.CreateFullstopSeparatedString(new List <string>())); }
public void ConcatenateNullList() { Assert.AreEqual(String.Empty, BerTlvLogic.CreateFullstopSeparatedString(null)); }