Example #1
0
        public void Should_Encode_String()
        {
            // Arrange
            var xe       = new XorEncoder(0x89);
            var message  = "test_string";
            var expected = "/ez6/db6/fvg5+4=";

            // Act
            var encodedMessage = xe.Encode(message);

            // Assert
            Assert.True(string.Equals(encodedMessage, expected),
                        $"Expected: {expected}; Actual: {encodedMessage}");
        }
Example #2
0
        public void Should_Encode_And_Decode_String()
        {
            // Arrange
            var xe      = new XorEncoder(0x13);
            var message = "encrypt_and_decrypt";

            // Act
            var encodedMessage = xe.Encode(message);
            var decodedMessage = xe.Decode(encodedMessage);

            // Assert
            Assert.True(string.Equals(decodedMessage, message),
                        $"Expected: {message}; Actual: {decodedMessage}");
        }
Example #3
0
        public async Task EncodeStringTestAsync()
        {
            var rnd     = new Random();
            var xorName = new byte[32];

            rnd.NextBytes(xorName);
            var typeTag       = 16000UL;
            var contentType   = ContentType.Wallet;
            var dataType      = DataType.UnpublishedImmutableData;
            var encodedString = await XorEncoder.EncodeAsync(
                xorName,
                typeTag,
                dataType,
                contentType,
                null,
                null,
                0,
                "base32z");

            Assert.IsNotNull(encodedString);
            Assert.IsTrue(encodedString.StartsWith("safe://", StringComparison.Ordinal));

            var xorUrlEncoder = await XorEncoder.EncodeAsync(
                xorName,
                typeTag,
                dataType,
                contentType,
                null,
                null,
                0);

            Assert.AreEqual(xorName, xorUrlEncoder.XorName);
            Validate.Encoder(xorUrlEncoder, dataType, (ContentType)contentType, typeTag);

            var parsedEncoder = await XorEncoder.XorUrlEncoderFromUrl(encodedString);

            Assert.AreEqual(xorName, parsedEncoder.XorName);
            Validate.Encoder(parsedEncoder, dataType, contentType, typeTag);
            Assert.AreEqual(typeTag, parsedEncoder.TypeTag);
            Assert.AreEqual(contentType, parsedEncoder.ContentType);
            Assert.AreEqual(0, parsedEncoder.ContentVersion);
        }
Example #4
0
        public static async Task XorUrlAsync(string xorUrl, DataType expectedDataType, ContentType expectedContentType, ulong expectedTypeTag)
        {
            var encoder = await XorEncoder.XorUrlEncoderFromUrl(xorUrl);

            Encoder(encoder, expectedDataType, expectedContentType, expectedTypeTag);
        }