Example #1
0
 public static void NrsContainerInfo(NrsMapContainerInfo info)
 {
     Assert.AreNotEqual(DataType.SafeKey, info.DataType);
     Assert.IsNotNull(info.NrsMap);
     Assert.IsNotNull(info.PublicName);
     Assert.NotZero(info.TypeTag);
     Assert.IsNotNull(info.Version);
     Assert.IsNotNull(info.XorUrl);
     Validate.XorName(info.XorName);
 }
Example #2
0
        public static void Encoder(XorUrlEncoder encoder, DataType expectedDataType, ContentType expectedContentType, ulong expectedTypeTag)
        {
            Assert.AreEqual(expectedContentType, encoder.ContentType);
            Assert.Zero(encoder.ContentVersion);
            Assert.AreEqual(expectedDataType, encoder.DataType);
            Assert.AreEqual(1, encoder.EncodingVersion);

            // todo: these need to be validated once they contain the correct values

            /**
             * Assert.AreEqual(string.Empty, encoder.Path);
             * Assert.AreEqual(string.Empty, encoder.SubNames);
             **/
            Assert.AreEqual(expectedTypeTag, encoder.TypeTag);
            Validate.XorName(encoder.XorName);
        }
Example #3
0
        public async Task ParseUrlTest()
        {
            var session = await TestUtils.CreateTestApp();

            var(xorUrl, _) = await session.Keys.KeysCreatePreloadTestCoinsAsync("1");

            var xorUrlEncoder = await Nrs.ParseUrlAsync(xorUrl);

            // todo: verify that these are actually the expected values
            Assert.AreEqual(ContentType.Raw, xorUrlEncoder.ContentType);
            Assert.AreEqual(0, xorUrlEncoder.ContentVersion);
            Assert.AreEqual(DataType.SafeKey, xorUrlEncoder.DataType);
            Assert.AreEqual(1, xorUrlEncoder.EncodingVersion);
            Assert.AreEqual(string.Empty, xorUrlEncoder.Path);
            Assert.AreEqual("[]", xorUrlEncoder.SubNames);
            Assert.AreEqual(0, xorUrlEncoder.TypeTag);
            Validate.XorName(xorUrlEncoder.XorName);
        }
Example #4
0
        public void ValidateFetchOrInspectDataTypes(ISafeData data, bool isFetch = false, bool expectNrs = false)
        {
            if (data != null)
            {
                switch (data)
                {
                case SafeKey key:
                    Validate.XorName(key.XorName);
                    Validate.EnsureNullNrsContainerInfo(key.ResolvedFrom);
                    break;

                case Wallet wallet:
                    Validate.XorName(wallet.XorName);
                    Validate.EnsureNullNrsContainerInfo(wallet.ResolvedFrom);
                    if (isFetch)
                    {
                        Assert.NotZero(wallet.Balances.WalletBalances.Count);
                    }
                    else
                    {
                        Assert.Zero(wallet.Balances.WalletBalances.Count);
                    }
                    break;

                case FilesContainer filesContainer:
                    Validate.XorName(filesContainer.XorName);
                    if (expectNrs)
                    {
                        Validate.NrsContainerInfo(filesContainer.ResolvedFrom);
                    }
                    else
                    {
                        Validate.EnsureNullNrsContainerInfo(filesContainer.ResolvedFrom);
                    }
                    break;

                case PublishedImmutableData immutableData:
                    Assert.IsNotNull(immutableData.Data);
                    Validate.XorName(immutableData.XorName);
                    if (isFetch)
                    {
                        Assert.NotZero(immutableData.Data.Length);
                    }
                    else
                    {
                        Assert.Zero(immutableData.Data.Length);
                    }
                    if (expectNrs)
                    {
                        Validate.NrsContainerInfo(immutableData.ResolvedFrom);
                    }
                    else
                    {
                        Validate.EnsureNullNrsContainerInfo(immutableData.ResolvedFrom);
                    }
                    break;

                case SafeDataFetchFailed dataFetchOrInspectFailed:
                    Assert.IsNotNull(dataFetchOrInspectFailed.Description);
                    Assert.AreNotEqual(0, dataFetchOrInspectFailed.Code);
                    Assert.Fail(dataFetchOrInspectFailed.Description);
                    break;
                }
            }
            else
            {
                if (isFetch)
                {
                    Assert.Fail("Fetch data type not available");
                }
                else
                {
                    Assert.Fail("Inspect data type not available");
                }
            }
        }