예제 #1
0
        public void TestGetFileStatusSerialization5()
        {
            string fileStatusOutput = "{\"FileStatus\":{\"length\":23,\"type\":\"DIRECTORY\",\"blockSize\":0,\"replication\":0,\"owner\":\"owner1\",\"group\":\"ownergroup1\",\"aclBit\":true,\"attributes\":[\"Share\",\"PartOfShare\"],\"newperm\":\"sdsds\"}}";
            var    jsonSettings     = new JsonSerializerSettings();

            jsonSettings.Context = new System.Runtime.Serialization.StreamingContext(System.Runtime.Serialization.StreamingContextStates.All, "ParentDir");
            var entry = JsonCustomConvert.DeserializeObject <DirectoryEntryResult <DirectoryEntry> >(new MemoryStream(Encoding.UTF8.GetBytes(fileStatusOutput)), jsonSettings);

            Assert.IsTrue(entry != null);
            VerifyFileStatus(entry.FileStatus, null, 23, DirectoryEntryType.DIRECTORY, null, null, null, null, "ownergroup1", "owner1");
        }
예제 #2
0
        public void TestGetFileStatusSerialization2()
        {
            string fileStatusOutput = "{\"FileStatus\":{\"pathSuffix\":\"Test01\",\"type\":\"DIRECTORY\",\"blockSize\":0,\"modificationTime\":1528320362596,\"replication\":0,\"permission\":\"770\",\"owner\":\"owner1\",\"group\":\"ownergroup1\",\"aclBit\":true,\"attributes\":[\"Share\",\"PartOfShare\"],\"newperm\":\"sdsds\"}}";
            var    jsonSettings     = new JsonSerializerSettings();

            jsonSettings.Context = new System.Runtime.Serialization.StreamingContext(System.Runtime.Serialization.StreamingContextStates.All, "ParentDir");
            var entry = JsonCustomConvert.DeserializeObject <DirectoryEntryResult <DirectoryEntry> >(new MemoryStream(Encoding.UTF8.GetBytes(fileStatusOutput)), jsonSettings);

            Assert.IsTrue(entry != null);
            VerifyFileStatus(entry.FileStatus, "Test01", 0, DirectoryEntryType.DIRECTORY, null, DirectoryEntry.GetDateTimeFromServerTime(1528320362596), null, "770", "ownergroup1", "owner1");
        }
        public void TestTrashEnumerateSerialization3()
        {
            string trashOutput  = "{\"trashDir\":{\"trashDirEntry\":[{\"type\":\"FILE\",\"creationTime\":1548266625223,\"originalPath\":\"adl://test.azuredatalake.com/Testf1c36522-02a1-4fae-86e7-72eb396e6e05/file_qapQg9Z1E1ZIGGP7.txt_file_3f4KjaewFTgnePx0.txt\",\"trashDirPath\":\"02b3f334-a6af-47f4-80ca-acff0464f324\"},{\"type\":\"FILE\",\"creationTime\":1548266623692,\"originalPath\":\"adl://test.azuredatalake.com/Testf1c36522-02a1-4fae-86e7-72eb396e6e05/file_qapQg9Z1E1ZIGGP7.txt_file_DRuXVefrpukWAuIs.txt\"}],\"numSearched\":\"23\"}}";
            var    jsonSettings = new JsonSerializerSettings();

            jsonSettings.Context = new System.Runtime.Serialization.StreamingContext(System.Runtime.Serialization.StreamingContextStates.All, "ParentDir");

            var entry = JsonCustomConvert.DeserializeObject <TrashStatusResult>(new MemoryStream(Encoding.UTF8.GetBytes(trashOutput)), jsonSettings);

            Assert.IsTrue(entry.TrashStatusRes.NumSearched == 23);
            Assert.IsTrue(string.IsNullOrEmpty(entry.TrashStatusRes.NextListAfter));
        }
예제 #4
0
        public void TestListFileStatusSerialization1()
        {
            string liststatusOutput = "{\"FileStatuses\":{\"FileStatus\":[{\"length\":0,\"pathSuffix\":\"Test01\",\"type\":\"DIRECTORY\",\"blockSize\":0,\"accessTime\":1528320290048,\"modificationTime\":1528320362596,\"msExpirationTime\":1528320362391,\"replication\":0,\"permission\":\"770\",\"owner\":\"owner1\",\"group\":\"ownergroup1\",\"aclBit\":true},{\"length\":0,\"pathSuffix\":\"Test02\",\"type\":\"DIRECTORY\",\"blockSize\":0,\"accessTime\":1531515372559,\"modificationTime\":1531523888360,\"replication\":0,\"owner\":\"owner2\",\"group\":\"ownergroup2\",\"aclBit\":true,\"attributes\":[\"Share\",\"PartOfShare\"]}]}}";
            var    jsonSettings     = new JsonSerializerSettings();

            jsonSettings.Context = new System.Runtime.Serialization.StreamingContext(System.Runtime.Serialization.StreamingContextStates.All, "ParentDir");

            var entry = JsonCustomConvert.DeserializeObject <DirectoryEntryListResult <DirectoryEntry> >(new MemoryStream(Encoding.UTF8.GetBytes(liststatusOutput)), jsonSettings);

            Assert.IsNotNull(entry);
            Assert.IsNotNull(entry.FileStatuses.FileStatus);
            Assert.IsTrue(entry.FileStatuses.FileStatus.Count == 2);
            VerifyFileStatus(entry.FileStatuses.FileStatus[0], "Test01", 0, DirectoryEntryType.DIRECTORY, DirectoryEntry.GetDateTimeFromServerTime(1528320290048), DirectoryEntry.GetDateTimeFromServerTime(1528320362596), DirectoryEntry.GetDateTimeFromServerTime(1528320362391), "770", "ownergroup1", "owner1");
            VerifyFileStatus(entry.FileStatuses.FileStatus[1], "Test02", 0, DirectoryEntryType.DIRECTORY, DirectoryEntry.GetDateTimeFromServerTime(1531515372559), DirectoryEntry.GetDateTimeFromServerTime(1531523888360), null, null, "ownergroup2", "owner2");
        }
예제 #5
0
        public void TestTrashEnumerateSerializationDateOverRange2()
        {
            string trashOutput  = "{\"trashDir\":{\"trashDirEntry\":[{\"type\":\"FILE\",\"creationTime\":-1,\"originalPath\":\"adl://test.azuredatalake.com/Testf1c36522-02a1-4fae-86e7-72eb396e6e05/file_qapQg9Z1E1ZIGGP7.txt_file_3f4KjaewFTgnePx0.txt\",\"trashDirPath\":\"02b3f334-a6af-47f4-80ca-acff0464f324\"}],\"numSearched\":\"23\"}}";
            var    jsonSettings = new JsonSerializerSettings();

            jsonSettings.Context = new System.Runtime.Serialization.StreamingContext(System.Runtime.Serialization.StreamingContextStates.All, "ParentDir");

            var entry = JsonCustomConvert.DeserializeObject <TrashStatusResult>(new MemoryStream(Encoding.UTF8.GetBytes(trashOutput)), jsonSettings);

            Assert.IsTrue(entry.TrashStatusRes.NumSearched == 23);
            var listEntry = (List <TrashEntry>)entry.TrashStatusRes.TrashEntries;

            Assert.IsTrue(listEntry.Count == 1);
            Assert.IsTrue(listEntry[0].CreationTime == null);
        }
예제 #6
0
        public static T Unpack <T>(byte[] packed, IGatewayBlobStore gatewayBlobStore)
            where T : IGatewayMessage
        {
            Guard.NotNull(packed, "packed");
            Guard.NotNull(gatewayBlobStore, "gatewayBlobStore");

            GatewayPacket packet = ZipCompressor.Uncompress <GatewayPacket>(packed);

            if (packet.MessageSerialized == null)
            {
                return(Unpack <T>(gatewayBlobStore.Read(packet.Packet), gatewayBlobStore));
            }

            return(JsonCustomConvert.DeserializeObject <T>(packet.MessageSerialized));
        }
        public void TestEnumerateWithLinkSerialization1()
        {
            string liststatusOutput = "{\"FileStatuses\":{\"FileStatus\":[{\"length\":0,\"pathSuffix\":\"Test01\",\"type\":\"DIRECTORY\",\"blockSize\":0,\"accessTime\":1528320290048,\"modificationTime\":1528320362596,\"msExpirationTime\":1528320362391,\"replication\":0,\"permission\":\"770\",\"owner\":\"owner1\",\"group\":\"ownergroup1\",\"aclBit\":true}," +
                                      "{\"length\":0,\"pathSuffix\":\"Test02\",\"type\":\"DIRECTORY\",\"blockSize\":0,\"accessTime\":1531515372559,\"modificationTime\":1531523888360,\"replication\":0,\"owner\":\"owner2\",\"group\":\"ownergroup2\",\"aclBit\":true,\"attributes\":[\"Link\"]}," +
                                      "{\"length\":0,\"pathSuffix\":\"Test03\",\"type\":\"FILE\",\"blockSize\":0,\"accessTime\":1531515372559,\"replication\":0,\"owner\":\"owner3\",\"aclBit\":true}]}}";
            var jsonSettings = new JsonSerializerSettings();

            jsonSettings.Context = new System.Runtime.Serialization.StreamingContext(System.Runtime.Serialization.StreamingContextStates.All, "ParentDir");

            var entry     = JsonCustomConvert.DeserializeObject <DirectoryEntryListResult <DirectoryEntry> >(new MemoryStream(Encoding.UTF8.GetBytes(liststatusOutput)), jsonSettings);
            var entryList = entry.FileStatuses.FileStatus;

            Assert.IsTrue(entryList.Count == 3);
            Assert.IsTrue(entryList[0].Attribute == null);
            Assert.IsTrue(entryList[1].Attribute.Count == 1);
            Assert.IsTrue(entryList[1].Attribute != null && entryList[1].Attribute.Any(attr => attr == DirectoryEntryAttributeType.Link));
        }
예제 #8
0
        protected GatewayPacket(IGatewayMessage message)
        {
            Guard.NotNull(message, "message");

            MessageSerialized = JsonCustomConvert.SerializeObject(message);
        }