コード例 #1
0
        public async Task New_ByCollectionId_WithImage_CreatesNewDataObject(DataObjectSyncanoClient client)
        {
            //given
            var request = new DataObjectDefinitionRequest();

            request.ProjectId    = TestData.ProjectId;
            request.CollectionId = TestData.CollectionId;

            var imageBase64 = TestData.ImageToBase64("smallSampleImage.png");

            request.ImageBase64 = imageBase64;

            //when
            var result = await client.New(request);

            //then
            result.ShouldNotBeNull();
            result.Folder.ShouldEqual(request.Folder);

            //cleanup
            var deleteRequest = new DataObjectSimpleQueryRequest();

            deleteRequest.ProjectId    = TestData.ProjectId;
            deleteRequest.CollectionId = TestData.CollectionId;
            deleteRequest.DataId       = result.Id;
            await client.Delete(deleteRequest);
        }
コード例 #2
0
        public async Task New_ByCollectionId_WithAdditionals_CreatesNewDataObject(DataObjectSyncanoClient client)
        {
            //given
            var additionals = new Dictionary <string, string>();

            additionals.Add("param1", "value1");
            additionals.Add("param2", "value2");
            additionals.Add("param3", "value3");
            var request = new DataObjectDefinitionRequest();

            request.ProjectId    = TestData.ProjectId;
            request.CollectionId = TestData.CollectionId;
            request.Additional   = additionals;

            //when
            var result = await client.New(request);

            //then
            result.ShouldNotBeNull();
            result.Folder.ShouldEqual(request.Folder);
            result.Additional.ShouldNotBeNull();
            result.Additional.Count.ShouldEqual(additionals.Count);

            //cleanup
            var deleteRequest = new DataObjectSimpleQueryRequest();

            deleteRequest.ProjectId    = TestData.ProjectId;
            deleteRequest.CollectionId = TestData.CollectionId;
            deleteRequest.DataId       = result.Id;
            await client.Delete(deleteRequest);
        }
コード例 #3
0
        public async Task Delete_FilterWithStateAll(DataObjectSyncanoClient client)
        {
            //given
            var request = new DataObjectDefinitionRequest();

            request.ProjectId    = TestData.ProjectId;
            request.CollectionId = TestData.CollectionId;
            var dataObjectOne = await client.New(request);

            var dataObjectTwo = await client.New(request);

            request.State = DataObjectState.Moderated;
            request.State = DataObjectState.Rejected;
            var dataObjectThree = await client.New(request);

            var deleteRequest = new DataObjectSimpleQueryRequest();

            deleteRequest.ProjectId    = TestData.ProjectId;
            deleteRequest.CollectionId = TestData.CollectionId;
            deleteRequest.State        = DataObjectState.All;

            //when
            var result = await client.Delete(deleteRequest);

            //then
            try
            {
                await client.GetOne(TestData.ProjectId, TestData.CollectionId, dataId : dataObjectOne.Id);

                throw new Exception("GetOne should throw an exception");
            }
            catch (Exception e)
            {
                e.ShouldBeType <SyncanoException>();
            }

            try
            {
                await client.GetOne(TestData.ProjectId, TestData.CollectionId, dataId : dataObjectTwo.Id);

                throw new Exception("GetOne should throw an exception");
            }
            catch (Exception e)
            {
                e.ShouldBeType <SyncanoException>();
            }

            try
            {
                await client.GetOne(TestData.ProjectId, TestData.CollectionId, dataId : dataObjectThree.Id);

                throw new Exception("GetOne should throw an exception");
            }
            catch (Exception e)
            {
                e.ShouldBeType <SyncanoException>();
            }

            result.ShouldBeTrue();
        }
コード例 #4
0
        public async Task New_WithTooMuchAdditionals_ThrowsException(DataObjectSyncanoClient client)
        {
            //given
            var request = new DataObjectDefinitionRequest();

            request.ProjectId    = TestData.ProjectId;
            request.CollectionId = TestData.CollectionId;
            request.Additional   = new Dictionary <string, string>();
            for (int i = 0; i < DataObjectSyncanoClient.MaxAdditionalsCount + 5; ++i)
            {
                request.Additional.Add(i.ToString(CultureInfo.InvariantCulture), "additional value");
            }

            try
            {
                //when
                await client.New(request);

                throw new Exception("New should throw an exception");
            }
            catch (Exception e)
            {
                //then
                e.ShouldBeType <ArgumentException>();
            }
        }
コード例 #5
0
        public async Task Delete_FilterByStatePending(DataObjectSyncanoClient client)
        {
            //given
            var request = new DataObjectDefinitionRequest();

            request.ProjectId    = TestData.ProjectId;
            request.CollectionId = TestData.CollectionId;
            request.State        = DataObjectState.Pending;
            var dataObject = await client.New(request);

            var deleteRequest = new DataObjectSimpleQueryRequest();

            deleteRequest.ProjectId    = TestData.ProjectId;
            deleteRequest.CollectionId = TestData.CollectionId;
            deleteRequest.DataId       = dataObject.Id;
            deleteRequest.State        = DataObjectState.Pending;

            //when
            var result = await client.Delete(deleteRequest);

            //then
            try
            {
                await client.GetOne(TestData.ProjectId, TestData.CollectionId, dataId : dataObject.Id);

                throw new Exception("GetOne should throw an exception");
            }
            catch (Exception e)
            {
                e.ShouldBeType <SyncanoException>();
            }

            result.ShouldBeTrue();
        }
コード例 #6
0
        public async Task Delete_WithToMuchFolders_ThrowsException(DataObjectSyncanoClient client)
        {
            //given
            var request = new DataObjectSimpleQueryRequest();

            request.ProjectId    = TestData.ProjectId;
            request.CollectionId = TestData.CollectionId;
            request.Folders      = new List <string>();
            for (int i = 0; i < DataObjectSyncanoClient.MaxVauluesPerRequest; ++i)
            {
                request.Folders.Add("abc");
            }
            request.Folder = "abc";

            try
            {
                //when
                await client.Delete(request);

                throw new Exception("Delete should throw an exception");
            }
            catch (Exception e)
            {
                //then
                e.ShouldBeType <ArgumentException>();
            }
        }
コード例 #7
0
        public async Task New_ByCollectionId_WithSourceUrl_CreatesNewDataObject(DataObjectSyncanoClient client)
        {
            //given
            var request = new DataObjectDefinitionRequest();

            request.ProjectId    = TestData.ProjectId;
            request.CollectionId = TestData.CollectionId;
            request.SourceUrl    = "sourceUrl";

            //when
            var result = await client.New(request);

            //then
            result.ShouldNotBeNull();
            result.Folder.ShouldEqual(request.Folder);
            result.SourceUrl.ShouldEqual(request.SourceUrl);

            //cleanup
            var deleteRequest = new DataObjectSimpleQueryRequest();

            deleteRequest.ProjectId    = TestData.ProjectId;
            deleteRequest.CollectionId = TestData.CollectionId;
            deleteRequest.DataId       = result.Id;
            await client.Delete(deleteRequest);
        }
コード例 #8
0
        public async Task Delete_FilterByImageContent(DataObjectSyncanoClient client)
        {
            //given
            var request = new DataObjectDefinitionRequest();

            request.ProjectId    = TestData.ProjectId;
            request.CollectionId = TestData.CollectionId;
            request.ImageBase64  = TestData.ImageToBase64("smallSampleImage.png");
            var dataObject = await client.New(request);

            var deleteRequest = new DataObjectSimpleQueryRequest();

            deleteRequest.ProjectId    = TestData.ProjectId;
            deleteRequest.CollectionId = TestData.CollectionId;
            deleteRequest.DataId       = dataObject.Id;
            deleteRequest.Filter       = DataObjectContentFilter.Image;

            //when
            var result = await client.Delete(deleteRequest);

            //then
            try
            {
                await client.GetOne(TestData.ProjectId, TestData.CollectionId, dataId : dataObject.Id);

                throw new Exception("GetOne should throw an exception");
            }
            catch (Exception e)
            {
                e.ShouldBeType <SyncanoException>();
            }

            result.ShouldBeTrue();
        }
        public async Task RemoveChild_WithNullChildId_RemovesAllChildren(DataObjectSyncanoClient client)
        {
            //given
            var newParentRequest = new DataObjectDefinitionRequest();

            newParentRequest.ProjectId    = TestData.ProjectId;
            newParentRequest.CollectionId = TestData.CollectionId;
            var parentObject = await client.New(newParentRequest);

            var newChildRequest = new DataObjectDefinitionRequest();

            newChildRequest.ProjectId    = TestData.ProjectId;
            newChildRequest.CollectionId = TestData.CollectionId;
            var childObject = await client.New(newChildRequest);

            await client.AddChild(TestData.ProjectId, parentObject.Id, childObject.Id, TestData.CollectionId);

            //when
            var result = await client.RemoveChild(TestData.ProjectId, parentObject.Id, collectionId : TestData.CollectionId);

            //then
            result.ShouldBeTrue();

            //cleanup
            var deleteRequest = new DataObjectSimpleQueryRequest();

            deleteRequest.ProjectId    = TestData.ProjectId;
            deleteRequest.CollectionId = TestData.CollectionId;
            await client.Delete(deleteRequest);
        }
コード例 #10
0
        public async Task New_ByCollectionId_WithFolder_CreatesNewDataObject(DataObjectSyncanoClient client)
        {
            //given
            var request = new DataObjectDefinitionRequest();

            request.ProjectId    = TestData.ProjectId;
            request.CollectionId = TestData.CollectionId;
            var folderClient =
                new FolderSyncanoClient(new SyncanoHttpClient(TestData.InstanceName, TestData.BackendAdminApiKey));
            var folder = await folderClient.New(TestData.ProjectId, "testFolder", TestData.CollectionId);

            request.Folder = folder.Name;

            //when
            var result = await client.New(request);

            //then
            result.ShouldNotBeNull();
            result.Folder.ShouldEqual(request.Folder);
            result.Folder.ShouldEqual(folder.Name);

            //cleanup
            var deleteRequest = new DataObjectSimpleQueryRequest();

            deleteRequest.ProjectId    = TestData.ProjectId;
            deleteRequest.CollectionId = TestData.CollectionId;
            deleteRequest.DataId       = result.Id;
            await client.Delete(deleteRequest);

            await folderClient.Delete(TestData.ProjectId, folder.Name, TestData.CollectionId);
        }
コード例 #11
0
        public async Task RemoveParent_ByCollectionKey_WithOtherChildren(DataObjectSyncanoClient client)
        {
            //given
            var newParentRequest = new DataObjectDefinitionRequest();

            newParentRequest.ProjectId    = TestData.ProjectId;
            newParentRequest.CollectionId = TestData.CollectionId;
            var parentObject = await client.New(newParentRequest);

            var newOtherRequest = new DataObjectDefinitionRequest();

            newOtherRequest.ProjectId    = TestData.ProjectId;
            newOtherRequest.CollectionId = TestData.CollectionId;
            newOtherRequest.ParentId     = parentObject.Id;
            var otherObject = await client.New(newOtherRequest);

            var newChildRequest = new DataObjectDefinitionRequest();

            newChildRequest.ProjectId    = TestData.ProjectId;
            newChildRequest.CollectionId = TestData.CollectionId;
            var childObject = await client.New(newChildRequest);

            await client.AddChild(TestData.ProjectId, parentObject.Id, childObject.Id, TestData.CollectionId);

            //when
            var result =
                await
                client.RemoveParent(TestData.ProjectId, childObject.Id, parentObject.Id,
                                    TestData.CollectionId);

            var getResult =
                await
                client.GetOne(TestData.ProjectId, TestData.CollectionId, dataId : parentObject.Id,
                              includeChildren : true);

            //then
            result.ShouldBeTrue();
            getResult.Children.ShouldNotBeEmpty();
            getResult.Children.Count.ShouldEqual(1);
            getResult.Children.Any(d => d.Id == otherObject.Id).ShouldBeTrue();
            getResult.Children.Any(d => d.Id == childObject.Id).ShouldBeFalse();

            //cleanup
            var deleteRequest = new DataObjectSimpleQueryRequest();

            deleteRequest.ProjectId    = TestData.ProjectId;
            deleteRequest.CollectionId = TestData.CollectionId;
            await client.Delete(deleteRequest);
        }
コード例 #12
0
        public async Task Get_Data2_OrderBy(DataObjectSyncanoClient client)
        {
            //given
            var newData1 = new DataObjectDefinitionRequest();

            newData1.ProjectId    = TestData.ProjectId;
            newData1.CollectionId = TestData.CollectionId;
            newData1.DataTwo      = 1;

            var newData2 = new DataObjectDefinitionRequest();

            newData2.ProjectId    = TestData.ProjectId;
            newData2.CollectionId = TestData.CollectionId;
            newData2.DataTwo      = 2;

            var dataObject1 = await client.New(newData1);

            var dataObject2 = await client.New(newData2);

            var getRequest = new DataObjectRichQueryRequest();

            getRequest.ProjectId    = TestData.ProjectId;
            getRequest.CollectionId = TestData.CollectionId;
            getRequest.OrderBy      = DataObjectOrderBy.DataOne;
            getRequest.Order        = DataObjectOrder.Ascending;
            getRequest.AddDataFieldFilter(DataObjectSpecialField.DataTwo, DataObjectOperator.LowerThanOrEquals, 2);
            getRequest.AddDataFieldFilter(DataObjectSpecialField.DataTwo, DataObjectOperator.GreaterThanOrEquals, 1);

            //when
            var result =
                await client.Get(getRequest);

            //then
            result.ShouldNotBeNull();
            result.Count.ShouldEqual(2);
            result[0].Id.ShouldEqual(dataObject1.Id);
            result[1].Id.ShouldEqual(dataObject2.Id);

            //cleanup
            var deleteRequest = new DataObjectSimpleQueryRequest();

            deleteRequest.ProjectId    = TestData.ProjectId;
            deleteRequest.CollectionId = TestData.CollectionId;
            await client.Delete(deleteRequest);
        }
コード例 #13
0
        public async Task New_WithNullCollectionIdAndCollectionKey_ThrowsException(DataObjectSyncanoClient client)
        {
            //given
            var request = new DataObjectDefinitionRequest();

            request.ProjectId = TestData.ProjectId;

            try
            {
                //when
                await client.New(request);

                throw new Exception("New should throw an exception");
            }
            catch (Exception e)
            {
                //then
                e.ShouldBeType <ArgumentNullException>();
            }
        }
コード例 #14
0
        public async Task Delete_WithNullProjectId_ThrowsException(DataObjectSyncanoClient client)
        {
            //given
            var request = new DataObjectSimpleQueryRequest();

            request.ProjectId    = null;
            request.CollectionId = TestData.CollectionId;

            try
            {
                //when
                await client.Delete(request);

                throw new Exception("Delete should throw an exception");
            }
            catch (Exception e)
            {
                //then
                e.ShouldBeType <ArgumentNullException>();
            }
        }
コード例 #15
0
        public async Task New_WithInvalidProjectId_ThrowsException(DataObjectSyncanoClient client)
        {
            //given
            var request = new DataObjectDefinitionRequest();

            request.ProjectId    = "abc";
            request.CollectionId = TestData.CollectionId;

            try
            {
                //when
                await client.New(request);

                throw new Exception("New should throw an exception");
            }
            catch (Exception e)
            {
                //then
                e.ShouldBeType <SyncanoException>();
            }
        }
コード例 #16
0
        public async Task Delete_ByCollectionKey(DataObjectSyncanoClient client)
        {
            //given
            var request = new DataObjectDefinitionRequest();

            request.ProjectId     = TestData.ProjectId;
            request.CollectionKey = TestData.CollectionKey;
            var dataObject = await client.New(request);

            var deleteRequest = new DataObjectSimpleQueryRequest();

            deleteRequest.ProjectId    = TestData.ProjectId;
            deleteRequest.CollectionId = TestData.CollectionId;
            deleteRequest.DataId       = dataObject.Id;

            //when
            var result = await client.Delete(deleteRequest);

            //then
            result.ShouldBeTrue();
        }
コード例 #17
0
        public async Task RemoveParent_ByCollectionKey(DataObjectSyncanoClient client)
        {
            //given
            var newParentRequest = new DataObjectDefinitionRequest();

            newParentRequest.ProjectId    = TestData.ProjectId;
            newParentRequest.CollectionId = TestData.CollectionId;
            var parentObject = await client.New(newParentRequest);

            var newChildRequest = new DataObjectDefinitionRequest();

            newChildRequest.ProjectId    = TestData.ProjectId;
            newChildRequest.CollectionId = TestData.CollectionId;
            var childObject = await client.New(newChildRequest);

            await client.AddChild(TestData.ProjectId, parentObject.Id, childObject.Id, TestData.CollectionId);

            //when
            var result =
                await
                client.RemoveParent(TestData.ProjectId, childObject.Id, parentObject.Id,
                                    collectionKey : TestData.CollectionKey);

            var getResult =
                await
                client.GetOne(TestData.ProjectId, TestData.CollectionId, dataId : parentObject.Id,
                              includeChildren : true);

            //then
            result.ShouldBeTrue();
            getResult.Children.ShouldBeNull();

            //cleanup
            var deleteRequest = new DataObjectSimpleQueryRequest();

            deleteRequest.ProjectId    = TestData.ProjectId;
            deleteRequest.CollectionId = TestData.CollectionId;
            await client.Delete(deleteRequest);
        }
コード例 #18
0
        public async Task Delete_FilterByUserName(DataObjectSyncanoClient client)
        {
            //given
            var request = new DataObjectDefinitionRequest();

            request.ProjectId    = TestData.ProjectId;
            request.CollectionId = TestData.CollectionId;
            request.UserName     = TestData.UserName;
            await client.New(request);

            var deleteRequest = new DataObjectSimpleQueryRequest();

            deleteRequest.ProjectId    = TestData.ProjectId;
            deleteRequest.CollectionId = TestData.CollectionId;
            deleteRequest.ByUser       = TestData.UserName;

            //when
            var result = await client.Delete(deleteRequest);

            //then
            result.ShouldBeTrue();
        }
コード例 #19
0
        public async Task Delete_WithToBigLimit_ThrowsException(DataObjectSyncanoClient client)
        {
            //given
            var request = new DataObjectSimpleQueryRequest();

            request.ProjectId    = TestData.ProjectId;
            request.CollectionId = TestData.CollectionId;
            request.Limit        = DataObjectSyncanoClient.MaxVauluesPerRequest + 1;

            try
            {
                //when
                await client.Delete(request);

                throw new Exception("Delete should throw an exception");
            }
            catch (Exception e)
            {
                //then
                e.ShouldBeType <ArgumentException>();
            }
        }
コード例 #20
0
        public async Task New_WithTooLongText_ThrowsException(DataObjectSyncanoClient client)
        {
            //given
            var request = new DataObjectDefinitionRequest();

            request.ProjectId    = TestData.ProjectId;
            request.CollectionId = TestData.CollectionId;
            request.Text         = new String('a', DataObjectSyncanoClient.MaxTextLenght + 1);

            try
            {
                //when
                await client.New(request);

                throw new Exception("New should throw an exception");
            }
            catch (Exception e)
            {
                //then
                e.ShouldBeType <ArgumentException>();
            }
        }
        public async Task RemoveChild_WithNullParentId_ThrowsException(DataObjectSyncanoClient client)
        {
            //given
            var newParentRequest = new DataObjectDefinitionRequest();

            newParentRequest.ProjectId    = TestData.ProjectId;
            newParentRequest.CollectionId = TestData.CollectionId;
            var parentObject = await client.New(newParentRequest);

            var newChildRequest = new DataObjectDefinitionRequest();

            newChildRequest.ProjectId    = TestData.ProjectId;
            newChildRequest.CollectionId = TestData.CollectionId;
            var childObject = await client.New(newChildRequest);

            await client.AddChild(TestData.ProjectId, parentObject.Id, childObject.Id, TestData.CollectionId);

            try
            {
                //when
                await
                client.RemoveChild(TestData.ProjectId, null, childObject.Id,
                                   TestData.CollectionId);

                throw new Exception("RemoveChild should throw an exception");
            }
            catch (Exception e)
            {
                //then
                e.ShouldBeType <ArgumentNullException>();
            }
            //cleanup
            var deleteRequest = new DataObjectSimpleQueryRequest();

            deleteRequest.ProjectId    = TestData.ProjectId;
            deleteRequest.CollectionId = TestData.CollectionId;
            await client.Delete(deleteRequest);
        }
コード例 #22
0
        public async Task New_WithTooLongAdditionalValue_ThrowsException(DataObjectSyncanoClient client)
        {
            //given
            var request = new DataObjectDefinitionRequest();

            request.ProjectId    = TestData.ProjectId;
            request.CollectionId = TestData.CollectionId;
            request.Additional   = new Dictionary <string, string>();
            request.Additional.Add("additional key", new String('a', DataObjectSyncanoClient.MaxAdditionalValueLenght + 1));

            try
            {
                //when
                await client.New(request);

                throw new Exception("New should throw an exception");
            }
            catch (Exception e)
            {
                //then
                e.ShouldBeType <ArgumentException>();
            }
        }
コード例 #23
0
        public async Task AddParent_WithInvalidChildId_ThrowsException(DataObjectSyncanoClient client)
        {
            //given
            var newParentRequest = new DataObjectDefinitionRequest();

            newParentRequest.ProjectId    = TestData.ProjectId;
            newParentRequest.CollectionId = TestData.CollectionId;
            var parentObject = await client.New(newParentRequest);

            var newChildRequest = new DataObjectDefinitionRequest();

            newChildRequest.ProjectId    = TestData.ProjectId;
            newChildRequest.CollectionId = TestData.CollectionId;
            await client.New(newChildRequest);

            try
            {
                //when
                await
                client.AddParent(TestData.ProjectId, "abc", parentObject.Id,
                                 TestData.CollectionId);

                throw new Exception("AddChild should throw an exception");
            }
            catch (Exception e)
            {
                //then
                e.ShouldBeType <SyncanoException>();
            }
            //cleanup
            var deleteRequest = new DataObjectSimpleQueryRequest();

            deleteRequest.ProjectId    = TestData.ProjectId;
            deleteRequest.CollectionId = TestData.CollectionId;
            await client.Delete(deleteRequest);
        }
コード例 #24
0
        public UserSyncanoClientTests()
        {
            var syncanoClient = new SyncanoClient(TestData.InstanceName, TestData.BackendAdminApiKey);

            _dataClient = syncanoClient.DataObjects;
        }
コード例 #25
0
        public async Task Delete_MultipleDataIds_WithLimit(DataObjectSyncanoClient client)
        {
            //given
            int counter = 0;
            var request = new DataObjectDefinitionRequest();

            request.ProjectId    = TestData.ProjectId;
            request.CollectionId = TestData.CollectionId;
            var dataObjectOne = await client.New(request);

            var dataObjectTwo = await client.New(request);

            var dataObjectThree = await client.New(request);

            var dataIds = new List <string> {
                dataObjectTwo.Id, dataObjectThree.Id
            };
            var deleteRequest = new DataObjectSimpleQueryRequest();

            deleteRequest.ProjectId    = TestData.ProjectId;
            deleteRequest.CollectionId = TestData.CollectionId;
            deleteRequest.DataId       = dataObjectOne.Id;
            deleteRequest.DataIds      = dataIds;
            deleteRequest.Limit        = 2;

            //when
            var result = await client.Delete(deleteRequest);

            //then
            try
            {
                await client.GetOne(TestData.ProjectId, TestData.CollectionId, dataId : dataObjectOne.Id);

                throw new Exception("GetOne should throw an exception");
            }
            catch (Exception e)
            {
                if (!(e is SyncanoException))
                {
                    ++counter;
                }
            }

            try
            {
                await client.GetOne(TestData.ProjectId, TestData.CollectionId, dataId : dataObjectTwo.Id);

                throw new Exception("GetOne should throw an exception");
            }
            catch (Exception e)
            {
                if (!(e is SyncanoException))
                {
                    ++counter;
                }
            }

            try
            {
                await client.GetOne(TestData.ProjectId, TestData.CollectionId, dataId : dataObjectThree.Id);

                throw new Exception("GetOne should throw an exception");
            }
            catch (Exception e)
            {
                if (!(e is SyncanoException))
                {
                    ++counter;
                }
            }

            counter.ShouldEqual(1);
            result.ShouldBeTrue();

            //cleanup
            deleteRequest.Limit = 100;
            await client.Delete(deleteRequest);
        }
コード例 #26
0
        public async Task Delete_MultipleDataIds(DataObjectSyncanoClient client)
        {
            //given
            var request = new DataObjectDefinitionRequest();

            request.ProjectId    = TestData.ProjectId;
            request.CollectionId = TestData.CollectionId;
            var dataObjectOne = await client.New(request);

            var dataObjectTwo = await client.New(request);

            var dataObjectThree = await client.New(request);

            var dataIds = new List <string> {
                dataObjectTwo.Id, dataObjectThree.Id
            };
            var deleteRequest = new DataObjectSimpleQueryRequest();

            deleteRequest.ProjectId    = TestData.ProjectId;
            deleteRequest.CollectionId = TestData.CollectionId;
            deleteRequest.DataId       = dataObjectOne.Id;
            deleteRequest.DataIds      = dataIds;

            //when
            var result = await client.Delete(deleteRequest);

            //then
            try
            {
                await client.GetOne(TestData.ProjectId, TestData.CollectionId, dataId : dataObjectOne.Id);

                throw new Exception("GetOne should throw an exception");
            }
            catch (Exception e)
            {
                e.ShouldBeType <SyncanoException>();
            }

            try
            {
                await client.GetOne(TestData.ProjectId, TestData.CollectionId, dataId : dataObjectTwo.Id);

                throw new Exception("GetOne should throw an exception");
            }
            catch (Exception e)
            {
                e.ShouldBeType <SyncanoException>();
            }

            try
            {
                await client.GetOne(TestData.ProjectId, TestData.CollectionId, dataId : dataObjectThree.Id);

                throw new Exception("GetOne should throw an exception");
            }
            catch (Exception e)
            {
                e.ShouldBeType <SyncanoException>();
            }

            result.ShouldBeTrue();
        }
コード例 #27
0
        public async Task Delete_MultipleFolders(DataObjectSyncanoClient client)
        {
            //given
            var request = new DataObjectDefinitionRequest();

            request.ProjectId    = TestData.ProjectId;
            request.CollectionId = TestData.CollectionId;
            var folderClient =
                new FolderSyncanoClient(new SyncanoHttpClient(TestData.InstanceName, TestData.BackendAdminApiKey));
            var folderOne = await folderClient.New(TestData.ProjectId, "folderOne", TestData.CollectionId);

            var folderTwo = await folderClient.New(TestData.ProjectId, "folderTwo", TestData.CollectionId);

            var folderThree = await folderClient.New(TestData.ProjectId, "folderThree", TestData.CollectionId);

            request.Folder = folderOne.Name;
            var dataObjectOne = await client.New(request);

            request.Folder = folderTwo.Name;
            var dataObjectTwo = await client.New(request);

            request.Folder = folderThree.Name;
            var dataObjectThree = await client.New(request);

            var folders = new List <string> {
                folderOne.Name, folderTwo.Name
            };
            var deleteRequest = new DataObjectSimpleQueryRequest();

            deleteRequest.ProjectId    = TestData.ProjectId;
            deleteRequest.CollectionId = TestData.CollectionId;
            deleteRequest.Folders      = folders;
            deleteRequest.Folder       = folderThree.Name;

            //when
            var result = await client.Delete(deleteRequest);

            //then
            try
            {
                await client.GetOne(TestData.ProjectId, TestData.CollectionId, dataId : dataObjectOne.Id);

                throw new Exception("GetOne should throw an exception");
            }
            catch (Exception e)
            {
                e.ShouldBeType <SyncanoException>();
            }

            try
            {
                await client.GetOne(TestData.ProjectId, TestData.CollectionId, dataId : dataObjectTwo.Id);

                throw new Exception("GetOne should throw an exception");
            }
            catch (Exception e)
            {
                e.ShouldBeType <SyncanoException>();
            }

            try
            {
                await client.GetOne(TestData.ProjectId, TestData.CollectionId, dataId : dataObjectThree.Id);

                throw new Exception("GetOne should throw an exception");
            }
            catch (Exception e)
            {
                e.ShouldBeType <SyncanoException>();
            }

            result.ShouldBeTrue();

            //cleanup
            await folderClient.Delete(TestData.ProjectId, folderOne.Name, TestData.CollectionId);

            await folderClient.Delete(TestData.ProjectId, folderTwo.Name, TestData.CollectionId);

            await folderClient.Delete(TestData.ProjectId, folderThree.Name, TestData.CollectionId);
        }
コード例 #28
0
        public async Task New_ByCollectionId_WithDataOneTwoThree_CreatesNewDataObject(DataObjectSyncanoClient client)
        {
            //given
            var request = new DataObjectDefinitionRequest();

            request.ProjectId    = TestData.ProjectId;
            request.CollectionId = TestData.CollectionId;
            request.DataOne      = -1;
            request.DataTwo      = 1;
            request.DataThree    = 100000;

            //when
            var result = await client.New(request);

            //then
            result.ShouldNotBeNull();
            result.Folder.ShouldEqual(request.Folder);
            result.DataOne.ShouldEqual(request.DataOne);
            result.DataTwo.ShouldEqual(request.DataTwo);
            result.DataThree.ShouldEqual(request.DataThree);

            //cleanup
            var deleteRequest = new DataObjectSimpleQueryRequest();

            deleteRequest.ProjectId    = TestData.ProjectId;
            deleteRequest.CollectionId = TestData.CollectionId;
            deleteRequest.DataId       = result.Id;
            await client.Delete(deleteRequest);
        }