public void ValidatorAcceptsMatchingObject() { UserGenerator.RegisterAndLoginUserWithRole(Role.Analyst, adminDataApiClient, out var dataApiClient); var validatorDefinition = new ValidatorDefinition(nameof(UnitTestDataObject2), ValidatorType.TextRules, "Number IS LESS THAN 150"); var testObject = new UnitTestDataObject2 { Name = "Hello world!", Number = 42 }; var objectId = "ValidatorAcceptsMatchingObject"; try { AssertStatusCode( () => dataApiClient.SubmitValidatorAsync(validatorDefinition).Wait(), HttpStatusCode.OK, "Could not submit validator"); AssertStatusCode( () => dataApiClient.ReplaceAsync(testObject, objectId).Wait(), HttpStatusCode.OK, "Could not submit data"); } finally { dataApiClient.DeleteAsync <UnitTestDataObject2>(objectId).Wait(); dataApiClient.DeleteValidatorAsync(validatorDefinition.Id).Wait(); UserGenerator.DeleteUser(dataApiClient); } }
public void ValidatorRejectsNonMatchingObject() { UserGenerator.RegisterAndLoginUserWithRole(Role.Analyst, adminDataApiClient, out var dataApiClient); var validatorDefinition = new ValidatorDefinition(nameof(UnitTestDataObject2), ValidatorType.TextRules, "Number IS LESS THAN 150"); var testObject = new UnitTestDataObject2 { Name = "Hello world!", Number = 250 }; var objectId = "ValidatorRejectsNonMatchingObject"; try { AssertStatusCode( () => dataApiClient.InsertAsync(testObject, objectId).Wait(), HttpStatusCode.OK, "Submit data before validator"); AssertStatusCode( () => dataApiClient.SubmitValidatorAsync(validatorDefinition).Wait(), HttpStatusCode.OK, "Could not submit validator"); try { AssertStatusCode( () => adminDataApiClient.ApproveValidatorAsync(validatorDefinition.Id).Wait(), HttpStatusCode.OK, "Approve validator"); AssertStatusCode( () => dataApiClient.ApplyValidatorAsync(testObject).Wait(), HttpStatusCode.BadRequest, "Apply validator"); testObject.Number = 251; AssertStatusCode( () => dataApiClient.ReplaceAsync(testObject, objectId).Wait(), HttpStatusCode.BadRequest, "Submit data after validator"); var retreivedObject = dataApiClient.GetAsync <UnitTestDataObject2>(objectId).Result; Assert.That(retreivedObject.Number, Is.EqualTo(250)); } finally { dataApiClient.DeleteValidatorAsync(validatorDefinition.Id).Wait(); } } finally { dataApiClient.DeleteAsync <UnitTestDataObject2>(objectId).Wait(); UserGenerator.DeleteUser(dataApiClient); } }