public void TestGetSheetInfo() { // Make request string uri = $"data/v2/importSpreadsheet/sample?hrow=2&drow=3&fileId={_fileToken}&fileFormat=Excel&sheet=Assembly+Point"; using (var request = new PlatformHttpRequest(uri)) { HttpWebResponse response = request.GetResponse(); // check that it worked (200) Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK)); } }
public void TestGetType_GenerateForm_ById( ) { var aaemployee = Entity.Get(new EntityRef("test", "employee")); using ( var request = new PlatformHttpRequest(string.Format(@"data/v1/type/{0}/generateform", aaemployee.Id))) { HttpWebResponse response = request.GetResponse( ); // check that it worked (200) Assert.IsTrue(response.StatusCode == HttpStatusCode.OK); } }
public void GetForm( ) { if (_formId == 0) { _formId = EDC.ReadiNow.Expressions.CodeNameResolver.GetInstance(_formName, "Custom Edit Form").Id; } using (Profiler.Measure("Run form test")) using (var request = new PlatformHttpRequest(string.Format(@"data/v1/form/{0}", _formId), PlatformHttpMethod.Get)) { HttpWebResponse response = request.GetResponse( ); Assert.IsTrue(response.StatusCode == HttpStatusCode.OK); } }
public void Test_NoAccess() { UserAccount userAccount = null; ReadiNow.Model.Report report = null; HttpWebResponse response; try { userAccount = new UserAccount(); userAccount.Name = "Test user " + Guid.NewGuid(); userAccount.Save(); report = new ReadiNow.Model.Report(); report.Save(); // Sanity check using (new SetUser(userAccount)) { IDictionary <long, bool> checkResult = Factory.EntityAccessControlService.Check( new[] { new EntityRef(report), }, new[] { Permissions.Read }); Assert.That(checkResult, Has.Exactly(1).Property("Key").EqualTo(report.Id).And.Property("Value").False); } // Load a report that the user cannot access using (var request = new PlatformHttpRequest(@"data/v1/report/" + report.Id + "?page=0,1", PlatformHttpMethod.Get, userAccount)) { response = request.GetResponse(); Assert.That(response, Has.Property("StatusCode").EqualTo(HttpStatusCode.Forbidden), "Web service call failed"); } } finally { if (userAccount != null) { // Will cascade delete and remove the access rule try { userAccount.Delete(); } catch (Exception) { } } if (report != null) { try { report.Delete(); } catch (Exception) { } } } }
public void Test_PasswordEmptyInResponse() { long administratorId; long passwordFieldId; long nameFieldId; List <long> entitiesToDelete; HttpWebResponse response; JsonEntityQueryResult jsonEntityQueryResult; JsonEntity jsonEntity; entitiesToDelete = new List <long>(); try { administratorId = Entity.GetId("core:administratorUserAccount"); Assert.That(administratorId, Is.Positive, "Missing administrator account"); passwordFieldId = Entity.GetId("core:password"); Assert.That(passwordFieldId, Is.Positive, "Missing password field"); nameFieldId = Entity.GetId("core:name"); Assert.That(nameFieldId, Is.Positive, "Missing name field"); using (PlatformHttpRequest request = new PlatformHttpRequest(string.Format(@"data/v1/entity/{0}?request=name,password", administratorId))) { response = request.GetResponse(); Assert.That(response, Has.Property("StatusCode").EqualTo(HttpStatusCode.OK), "Web service call failed"); jsonEntityQueryResult = request.DeserialiseResponseBody <JsonEntityQueryResult>(); Assert.That(jsonEntityQueryResult.Entities, Has.Count.EqualTo(1), "Incorrect Entities count"); jsonEntity = jsonEntityQueryResult.Entities.First(); Assert.That(jsonEntity.Fields, Has.Exactly(1).Property("FieldId").EqualTo(passwordFieldId) .And.Property("Value").Matches("[*]+")); Assert.That(jsonEntity.Fields, Has.Exactly(1).Property("FieldId").EqualTo(nameFieldId) .And.Property("Value").EqualTo("Administrator")); } } finally { try { Entity.Delete(entitiesToDelete); } catch (Exception) { // Do nothing } } }
private static ExportDataInfo PostExportRequest(string url, HttpStatusCode expectedResposeCode, ReportParameters parameters) { using (var request = new PlatformHttpRequest(url, PlatformHttpMethod.Post)) { request.PopulateBody(parameters); var response = request.GetResponse(); Assert.AreEqual(expectedResposeCode, response.StatusCode, "We have a {0} returned, expected {1}", response.StatusCode, expectedResposeCode); if (expectedResposeCode != HttpStatusCode.OK) { return(null); } return(request.DeserialiseResponseBody <ExportDataInfo>()); } }
public void TestGetForm_ById( ) { var employeeType = CodeNameResolver.GetTypeByName("AA_Employee").As <EntityType>( ); var employeeForm = employeeType.DefaultEditForm; using ( var request = new PlatformHttpRequest(string.Format(@"data/v1/form/{0}", employeeForm.Id))) { HttpWebResponse response = request.GetResponse( ); // check that it worked (200) Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK)); } }
public void TestGetInstance_DefaultFromForTypeWithNoForm( ) { using (var request = new PlatformHttpRequest(@"data/v1/type/core/logActivityLogEntry/defaultForm")) { HttpWebResponse response = request.GetResponse( ); // check that it worked (200) Assert.IsTrue(response.StatusCode == HttpStatusCode.OK); var result = request.DeserialiseResponseBody <JsonQueryResult>( ); Assert.IsTrue(9999 < ReturnedFormId(result), "The form is a generated one"); } }
public void Test_ChangePassword(Func <UserAccount> userAccountFactory, string oldPassword, string newPassword, HttpStatusCode expectedHttpStatusCode, string expectedMessage) { UserAccount userAccount; HttpWebResponse response; HttpError httpError; userAccount = null; try { using (new SecurityBypassContext()) { userAccount = userAccountFactory(); } using (PlatformHttpRequest loginRequest = new PlatformHttpRequest("data/v1/login/spchangepassword", PlatformHttpMethod.Post, doNotAuthenticate: true)) { loginRequest.PopulateBody(new JsonPasswordChangeRequest { Username = userAccount.Name, OldPassword = oldPassword, NewPassword = newPassword, Tenant = RequestContext.GetContext().Tenant.Name }); response = loginRequest.GetResponse(); Assert.That(response, Has.Property("StatusCode").EqualTo(expectedHttpStatusCode)); if (expectedMessage != null) { httpError = loginRequest.DeserialiseResponseBody <HttpError>(); Assert.That(httpError, Has.Property("Message").EqualTo(expectedMessage)); } } } finally { if (userAccount != null) { try { SecurityBypassContext.Elevate(() => Entity.Delete(userAccount)); } catch (Exception) { // Ignore errors } } } }
public void Test_InvalidLogin(Func <UserAccount> userAccountFactory, string password, HttpStatusCode expectedHttpStatusCode, string expectedMessage) { UserAccount userAccount; HttpWebResponse response; HttpError httpError; userAccount = null; try { using (new SecurityBypassContext()) { userAccount = userAccountFactory(); } using (PlatformHttpRequest loginRequest = new PlatformHttpRequest("data/v1/login/spsignin", PlatformHttpMethod.Post, doNotAuthenticate: true)) { loginRequest.PopulateBody(new JsonLoginCredential { Username = userAccount.Name, Password = password, Tenant = RequestContext.GetContext().Tenant.Name, Persistent = false }); response = loginRequest.GetResponse(); Assert.That(response, Has.Property("StatusCode").EqualTo(expectedHttpStatusCode)); if (expectedMessage != null) { httpError = loginRequest.DeserialiseResponseBody <HttpError>(); Assert.That(httpError, Has.Property("Message").EqualTo(expectedMessage)); } } } finally { if (userAccount != null) { try { SecurityBypassContext.Elevate(() => Entity.Delete(userAccount)); } catch (Exception) { // Do nothing on an error. This is just clean up code. } } } }
public void Test_PasswordChange_TooSimplePassword() { UserAccount userAccount; const string initialPassword = "******"; HttpWebResponse response; HttpError responseBody; userAccount = null; try { userAccount = new UserAccount { Name = "Test User " + Guid.NewGuid(), Password = initialPassword, AccountStatus_Enum = UserAccountStatusEnum_Enumeration.Active }; userAccount.Save(); // Change the password using (PlatformHttpRequest request = new PlatformHttpRequest("data/v1/password", PlatformHttpMethod.Post, userAccount)) { // Does not meet minimum complexity requirements for the default password complexity rule. This may fail if the // default minimum password complexity requirements change. request.PopulateBody(new PasswordChangeInfo { CurrentPassword = initialPassword, Password = "******" }); response = request.GetResponse(); Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest)); responseBody = request.DeserialiseResponseBody <HttpError>( ); Assert.That(responseBody.Message, Is.StringStarting("The password is too short; the minimum length is ")); } } finally { try { Entity.Delete(userAccount); } catch (Exception) { // Ignore any errors } } }
public void Test001Get() { var someId = Entity.GetId("test", "peterAylett"); var actionRequest = new ActionRequest { SelectedResourceIds = new[] { someId } }; using (var request = new PlatformHttpRequest("data/v1/actions", PlatformHttpMethod.Post)) { request.PopulateBody(actionRequest); HttpWebResponse response = request.GetResponse(); Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK)); } }
public void Test_AccessRuleCreate_NonDefinition() { UserAccount userAccount; Subject subject; EntityType entityType; List <long> entitiesToDelete; HttpWebResponse response; entitiesToDelete = new List <long>(); try { userAccount = Entity.Create <UserAccount>(); userAccount.Name = Guid.NewGuid().ToString() + DateTime.Now; userAccount.Save(); entitiesToDelete.Add(userAccount.Id); subject = Entity.Create <Subject>(); subject.Save(); entitiesToDelete.Add(subject.Id); entityType = Entity.Create <EntityType>(); entityType.Save(); entitiesToDelete.Add(entityType.Id); using (var request = new PlatformHttpRequest("data/v1/accessrule", PlatformHttpMethod.Post, userAccount)) { request.PopulateBody(new NewAccessRuleInfo { SubjectId = subject.Id, SecurableEntityId = entityType.Id }); response = request.GetResponse(); Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest)); } } finally { try { Entity.Delete(entitiesToDelete); } catch (Exception) { // Do nothing } } }
public void TestGetInstance_ForceGenerateForm( ) { var expectedForm = Entity.Get <Definition>(new EntityRef("test", "employee")).DefaultEditForm; using (var request = new PlatformHttpRequest(@"data/v1/type/test/employee/defaultForm")) { HttpWebResponse response = request.GetResponse( ); // check that it worked (200) Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); var result = request.DeserialiseResponseBody <JsonQueryResult>( ); Assert.AreEqual(expectedForm.Id, ReturnedFormId(result), "The form is a generated one"); } }
public void Test_PasswordChange_EmptyPassword() { UserAccount userAccount; const string initialPassword = "******"; HttpWebResponse response; HttpError responseBody; userAccount = null; try { userAccount = new UserAccount { Name = "Test User " + Guid.NewGuid(), Password = initialPassword, AccountStatus_Enum = UserAccountStatusEnum_Enumeration.Active }; userAccount.Save(); // Change the password using (PlatformHttpRequest request = new PlatformHttpRequest("data/v1/password", PlatformHttpMethod.Post, userAccount)) { request.PopulateBody(new PasswordChangeInfo { CurrentPassword = initialPassword, Password = string.Empty }); response = request.GetResponse(); Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest)); responseBody = request.DeserialiseResponseBody <HttpError>(); Assert.That(responseBody.Message, Is.EqualTo("A password is required.")); } } finally { try { Entity.Delete(userAccount); } catch (Exception) { // Ignore any errors } } }
private CompileResult TestCompile(string json) { var url = @"data/v1/calceditor/compile"; using (var request = new PlatformHttpRequest(url, PlatformHttpMethod.Post)) { request.PopulateBodyString(json.Replace("'", "\"")); var response = request.GetResponse(); // check that it worked (200) Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); // Check response body return(request.DeserialiseResponseBody <CompileResult>()); } }
public void Test_Ensure_Tenant_Not_Discoverable(string uri) { // If the key does not belong to the tenant, the behavior between right tenant and wrong tenant should be indistinguisable. uri = uri.Replace("right", "edc"); // Test correct tenant using (var request = new PlatformHttpRequest(uri, PlatformHttpMethod.Post, null, true)) { string json = "{ 'field1' : 'Hello world' }"; request.PopulateBodyString(json.Replace("'", @"""")); // Run request.GetResponse( ); //Assert.Throws<WebException>( ( ) => request.GetResponse( ) ); Assert.That(request.HttpWebResponse.StatusCode, Is.EqualTo(HttpStatusCode.Unauthorized)); } }
public void PostActionsWithInvalidSelection() { using (var request = new PlatformHttpRequest(@"data/v1/actions", PlatformHttpMethod.Post)) { request.PopulateBody(new ActionRequest { SelectedResourceIds = new long[] { 100000000 } }); var response = request.GetResponse(); response.Should().NotBeNull(); response.StatusCode.Should().Be(HttpStatusCode.OK, "We have a {0} returned, expected {1}.", response.StatusCode, HttpStatusCode.OK); var body = request.DeserialiseResponseBody <ActionResponse>(); body.Should().NotBeNull(); body.Actions.Should().NotBeNull().And.BeEmpty(); } }
public void Test07DownloadCsvExportedFile() { long reportId = GetReportByAlias("test:managerReport"); ExportDataInfo res = PostExportRequest(string.Format(@"data/v2/report/export/{0}/csv", reportId), HttpStatusCode.OK, new ReportParameters()); Assert.IsNotNullOrEmpty(res.FileHash, "The exported file has been saved to the database."); using ( PlatformHttpRequest request = new PlatformHttpRequest( string.Format(@"data/v2/report/export/download/{0}/sample/csv", res.FileHash), PlatformHttpMethod.Get)) { HttpWebResponse response = request.GetResponse(); Assert.IsTrue(response.StatusCode == HttpStatusCode.OK, "We have a {0} returned, expected {1}", response.StatusCode, HttpStatusCode.OK); Assert.AreEqual(response.ContentType, "text/html"); using (Stream stream = response.GetResponseStream()) { Assert.IsNotNull(stream); using (FileStream fileStream = File.Create(CsvFile)) { CopyToFile(stream, fileStream); //Read data from the file fileStream.Position = 0; StreamReader sr = new StreamReader(fileStream); int readLineCount = 0; while (!sr.EndOfStream) { sr.ReadLine(); readLineCount++; } Assert.Greater(readLineCount, 0, "There are no rows in the file."); //Read the first row fileStream.Position = 0; sr = new StreamReader(fileStream); string rowString = sr.ReadLine(); Assert.AreEqual("Name", rowString); //read secong row string row2 = sr.ReadLine(); Assert.AreEqual("Glenn Uidam", row2); } } } }
public static JsonQueryResult RunRequest(string query, HttpStatusCode expected = HttpStatusCode.OK) { using (var request = new PlatformHttpRequest(@"data/v2/entity", PlatformHttpMethod.Post)) { request.PopulateBodyString(query); var response = request.GetResponse( ); // check that it worked (200) Assert.That(response.StatusCode, Is.EqualTo(expected)); // Check response body JsonQueryResult res = request.DeserialiseResponseBody <JsonQueryResult>( ); Assert.IsNotNull(res); return(res); } }
[TestCase("{ 'field1' : 123, 'lookup1' : 'IDontExist' }", "E1003", "No resources were found that matched 'IDontExist'.")] // Bug 26761 public void Test_PostCreate_WebArgumentException(string json, string expectCode, string expectMessage) { string uri = string.Format("api/{0}/{1}/{2}?key={3}", TenantName, ApiAddress, EndpointAddress, ApiKey); using (var request = new PlatformHttpRequest(uri, PlatformHttpMethod.Post, null, true)) { request.PopulateBodyString(json.Replace("'", @"""")); var response = request.GetResponse(); // check that it worked (201) Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode); MessageResponse message = request.DeserialiseResponseBody <MessageResponse>(); Assert.That(message.PlatformMessageCode, Is.EqualTo(expectCode)); Assert.That(message.Message, Is.EqualTo(expectMessage)); } }
private static ImportResultInfo TestUpload(ImportConfig config, bool testRun, Action <PlatformHttpRequest> callback, out long importRunId) { // ImportSpreadsheetData string uri = $"data/v2/importSpreadsheet/import?config={config.Id}&file={_fileToken}&filename={TestFileName}"; if (testRun) { uri += "&testrun=true"; } using (var request = new PlatformHttpRequest(uri)) { if (callback != null) { callback(request); } HttpWebResponse response = request.GetResponse( ); // check that it worked (200) Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK)); importRunId = request.DeserialiseResponseBody <long>( ); } // GetImportStatus for (int count = 0; count < 50; count++) { uri = $"data/v2/importSpreadsheet/import/{importRunId}"; using (var request = new PlatformHttpRequest(uri)) { HttpWebResponse response = request.GetResponse( ); // check that it worked (200) Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK)); ImportResultInfo status = request.DeserialiseResponseBody <ImportResultInfo>( ); if (status.ImportStatus != ImportStatus.InProgress) { return(status); } } Thread.Sleep(500); } throw new Exception("Took too long.."); }
public void Test08DownloadWordExportedFile() { long reportId = GetReportByAlias("test:managerReport"); ExportDataInfo res = PostExportRequest(string.Format(@"data/v2/report/export/{0}/word", reportId), HttpStatusCode.OK, new ReportParameters()); Assert.IsNotNullOrEmpty(res.FileHash, "The exported file has been saved to the database."); using ( PlatformHttpRequest request = new PlatformHttpRequest( string.Format(@"data/v2/report/export/download/{0}/sample/word", res.FileHash), PlatformHttpMethod.Get)) { HttpWebResponse response = request.GetResponse(); Assert.IsTrue(response.StatusCode == HttpStatusCode.OK, "We have a {0} returned, expected {1}", response.StatusCode, HttpStatusCode.OK); Assert.AreEqual(response.ContentType, "text/html"); using (Stream stream = response.GetResponseStream()) { Assert.IsNotNull(stream); using (FileStream fileStream = File.Create(WordFile)) { CopyToFile(stream, fileStream); fileStream.Position = 0; using (WordprocessingDocument doc = WordprocessingDocument.Open(fileStream, false)) { Body body = doc.MainDocumentPart.Document.Body; DocumentFormat.OpenXml.Wordprocessing.Table table = body.Descendants <DocumentFormat.OpenXml.Wordprocessing.Table>().FirstOrDefault(); Assert.IsNotNull(table, "The word document hasn't got a table"); var rows = table.Descendants <TableRow>(); Assert.Greater(rows.Count(), 0, "There are no rows in the table"); //Get first row. TableRow row = rows.First(); TableCell cell = row.GetFirstChild <TableCell>(); Assert.AreEqual("Name", cell.FirstChild.InnerText); //Get second row TableRow row1 = rows.Skip(1).First(); TableCell cell1 = row1.GetFirstChild <TableCell>(); Assert.AreEqual("Glenn Uidam", cell1.FirstChild.InnerText); } } } } }
public void Test_PostCreate_OK( ) { string uri = string.Format("upload/{0}/{1}/{2}?key={3}", TenantName, ApiAddress, EndpointAddress, ApiKey); using (var request = new PlatformHttpRequest(uri, PlatformHttpMethod.Post, null, true)) { Stream testFile = ImportSpreadsheetControllerTests.GetStream( ); request.PopulateBodyStream(testFile, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); var response = request.GetResponse( ); // check that it worked (200) Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); } // Check run started using (new TenantAdministratorContext(TenantName)) { //Thread.Sleep( 1000 ); ImportRun run = importConfig.ImportRuns.SingleOrDefault( ); Assert.That(run, Is.Not.Null); // Poll progress int count = 25; while (run.ImportRunStatus_Enum == WorkflowRunState_Enumeration.WorkflowRunStarted || run.ImportRunStatus_Enum == WorkflowRunState_Enumeration.WorkflowRunQueued) { Thread.Sleep(100); run = Entity.Get <ImportRun>(run.Id); Assert.That(run, Is.Not.Null); if (count-- == 0) { throw new Exception("Timed out: " + run.ImportRunStatus_Enum); } } Assert.That(run.ImportRunStatus_Enum, Is.EqualTo(WorkflowRunState_Enumeration.WorkflowRunCompleted), run.ImportMessages); Assert.That(run.ImportRecordsSucceeded, Is.EqualTo(7)); // Check instances var instances = Entity.GetInstancesOfType(type.Id).ToList( ); Assert.That(instances, Has.Count.EqualTo(7)); } }
public void LoadWildcardFieldsWhenFieldsHaveNoAlias() { using (var request = new PlatformHttpRequest(@"data/v2/entity?typename=Definition&name=Pizza&request=name,instancesOfType.*", PlatformHttpMethod.Get)) { var response = request.GetResponse(); // check that it worked (200) Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); // Check response body if (request.HttpWebResponse == null) { throw new NullReferenceException(); } var reader = new StreamReader(request.HttpWebResponse.GetResponseStream()); var body = reader.ReadToEnd(); Assert.IsNotEmpty(body); } }
public void TestActionsMenuNoCreateAccessMultipleTypes() { var actionRequest = new ActionRequest { ReportId = Entity.GetByName <ReadiNow.Model.Report>("Staff Report").FirstOrDefault().Id, ActionDisplayContext = ActionContext.ActionsMenu }; var userAccount = Entity.GetByName <UserAccount>("Nelle.Odom").FirstOrDefault(); using (var request = new PlatformHttpRequest("data/v1/actions", PlatformHttpMethod.Post, userAccount)) { request.PopulateBody(actionRequest); HttpWebResponse response = request.GetResponse(); Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK)); var actionResponse = request.DeserialiseResponseBody <ActionResponse>(); Assert.IsTrue(actionResponse.Actions.All(a => a.HtmlActionState != "newHolder")); Assert.IsTrue(actionResponse.Actions.All(a => a.HtmlActionState != "createForm")); } }
public static JsonQueryResult RunBatchTest(string query, HttpStatusCode expectedResult = HttpStatusCode.OK, int resultCount = 1) { using (var request = new PlatformHttpRequest(@"data/v2/entity", PlatformHttpMethod.Post)) { request.PopulateBodyString(query); var response = request.GetResponse(); // check that it worked (200) Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); // Check response body JsonQueryResult res = request.DeserialiseResponseBody <JsonQueryResult>(); Assert.IsNotNull(res); Assert.AreEqual(resultCount, res.Results.Count, "res.Results.Count"); Assert.AreEqual(expectedResult, res.Results[0].Code, "res.Results[0].Code"); return(res); } }
public void LoginFailsWithDisabledTenant() { //Arrange var ctx = RequestContext.GetContext(); using (var request = new PlatformHttpRequest("data/v1/login/spsignin", PlatformHttpMethod.Post, doNotAuthenticate: true)) { var tenant = default(Tenant); try { using (new GlobalAdministratorContext()) { tenant = Entity.Get <Tenant>(ctx.Tenant.Id, new IEntityRef[] { Tenant.Name_Field, Tenant.IsTenantDisabled_Field }).AsWritable <Tenant>(); tenant.IsTenantDisabled = true; tenant.Save(); } //Act LoginUsingTestCredentials(request); var response = request.GetResponse(); //Assert response.StatusCode.Should().Be(HttpStatusCode.Unauthorized, "Login should not succeed when Tenant is disabled."); } finally { tenant.Should().NotBeNull("The tenant was not initialized correctly. Test will be invalid!"); using (new GlobalAdministratorContext()) { if (tenant != null) { tenant.IsTenantDisabled = false; tenant.Save(); } } } } }
public void TestGetForm_DoesNotReturnCalculations() { var calcTestType = CodeNameResolver.GetTypeByName("AA_Calculations").As <EntityType>(); var calcTestForm = calcTestType.DefaultEditForm; using ( var request = new PlatformHttpRequest(string.Format(@"data/v1/form/{0}", calcTestForm.Id))) { HttpWebResponse response = request.GetResponse(); // check that it worked (200) Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK)); using (Stream stream = response.GetResponseStream()) using (TextReader reader = new StreamReader(stream)) { string json = reader.ReadToEnd(); Assert.That(json, Contains.Substring("isCalculatedField")); Assert.That(json, Is.Not.ContainsSubstring("fieldCalculation")); } } }
public void GetEntityIdsByUpgradeIds() { // get three known entites var aliasEntity = Entity.Get(new EntityRef("alias")); var nameEntity = Entity.Get(new EntityRef("name")); var descEntity = Entity.Get(new EntityRef("description")); // store them locally to compare with later on IDictionary <Guid, long> refEntityDict = new Dictionary <Guid, long>(); refEntityDict.Add(aliasEntity.UpgradeId, aliasEntity.Id); refEntityDict.Add(nameEntity.UpgradeId, nameEntity.Id); refEntityDict.Add(descEntity.UpgradeId, descEntity.Id); // guids to send in request var guids = new List <Guid> { aliasEntity.UpgradeId, nameEntity.UpgradeId, descEntity.UpgradeId }; using (var request = new PlatformHttpRequest(@"data/v2/entity/getEntityIdsByUpgradeIds", PlatformHttpMethod.Post)) { request.PopulateBody(guids); var response = request.GetResponse(); // check that it worked (200) Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); var resultsDict = request.DeserialiseResponseBody <IDictionary <string, long> >(); Assert.AreEqual(3, resultsDict.Count, "resultsDict.Count"); Assert.AreEqual(aliasEntity.Id, resultsDict[aliasEntity.UpgradeId.ToString("B")], "aliasEntity id does not match"); Assert.AreEqual(nameEntity.Id, resultsDict [nameEntity.UpgradeId.ToString("B")], "nameEntity id does not match"); Assert.AreEqual(descEntity.Id, resultsDict [descEntity.UpgradeId.ToString("B")], "descEntity id does not match"); } }