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); }
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); }
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); }
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); }
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); }
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>(); } }
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(); }
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 AddParent_WithNullCollectionIdAndCollectionKey_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); try { //when await client.AddParent(TestData.ProjectId, childObject.Id, parentObject.Id); throw new Exception("AddChild 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); }
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(); }
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); }
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); }
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); }
public async Task Delete_WithNullCollectionIdAndCollectionKey_ThrowsException(DataObjectSyncanoClient client) { //given var request = new DataObjectSimpleQueryRequest(); request.ProjectId = TestData.ProjectId; try { //when await client.Delete(request); throw new Exception("Delete should throw an exception"); } catch (Exception e) { //then e.ShouldBeType <ArgumentNullException>(); } }
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(); }
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); }
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>(); } }
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(); }
public async Task RemoveParent_WithInvalidProjectId_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.RemoveParent("abc", childObject.Id, parentObject.Id, TestData.CollectionId); throw new Exception("RemoveParent 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); }
public async Task Get_ByCollectionId_GetsListOfUsers(UserSyncanoClient client) { //given var dataRequest = new DataObjectDefinitionRequest(); dataRequest.ProjectId = TestData.ProjectId; dataRequest.CollectionId = TestData.CollectionId; await _dataClient.New(dataRequest); var request = new UserQueryRequest(); request.ProjectId = TestData.ProjectId; request.CollectionId = TestData.CollectionId; //when var result = await client.Get(request); //then result.ShouldNotBeNull(); result.Count.ShouldEqual(1); //cleanup var deleteRequest = new DataObjectSimpleQueryRequest(); deleteRequest.ProjectId = TestData.ProjectId; deleteRequest.CollectionId = TestData.CollectionId; await _dataClient.Delete(deleteRequest); }
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); }
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); }
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(); }