public void BatchRequest() { string query = @"{ ""queries"": [ ""name,description"", ""core:firstName,core:lastName"", ""some invalid query"" ], ""requests"": [ { ""aliases"":[""test:person""], ""rq"":0, ""get"":""instances"" }, { ""aliases"":[""test:peterAylett""], ""rq"":1, ""get"":""basic"" }, { ""ids"":[1], ""rq"":2, ""get"":""basic"" }, { ""aliases"":[""invalid:alias""], ""rq"":0, ""get"":""basic"" } ] }"; 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(4, res.Results.Count, "res.Results.Count"); Assert.AreEqual(HttpStatusCode.OK, res.Results[0].Code, "res.Results[0].Code"); Assert.AreEqual(HttpStatusCode.OK, res.Results[1].Code, "res.Results[1].Code"); Assert.AreEqual(HttpStatusCode.BadRequest, res.Results[2].Code, "res.Results[2].Code"); Assert.AreEqual(HttpStatusCode.NotFound, res.Results[3].Code, "res.Results[3].Code"); Assert.Greater(res.Results[0].Ids.Count, 1, "res.Results[0].IDs.Count"); Assert.AreEqual(1, res.Results[1].Ids.Count, "res.Results[1].IDs.Count"); } }
public void ToolboxObjects( ) { // Request all definitions and enum types string rq = "name, inSolution.id,{ definitionUsedByReport, definitionUsedByReport.reportCharts, k:formsToEditType, k:defaultEditForm }.{name, inSolution.id}"; string query = @"{'queries':['" + rq + @"'],'requests':[{'get':'instances','aliases':['core:definition'],'hint':'toolboxObjects-instOf-definition','rq':0}]}"; query = query.Replace("'", "\""); JsonQueryResult res = TestEntity.RunBatchTest(query, HttpStatusCode.OK, 1); Assert.That(res, Is.Not.Null); }
public void RunReportBuilderEntityRequest_WithVariables() { if (_reportId == 0) { _reportId = EDC.ReadiNow.Expressions.CodeNameResolver.GetInstance(_reportName, "Report").Id; } // Request all definitions and enum types string id = _reportId.ToString(); string rq = @"let @REPORTEXPRESULTTYPE = { name,alias, isOfType.{name,alias}, numberDecimalPlaces, conformsToType.{name,isOfType.{name,alias}}, resourceArgumentValue.{name,alias}, resourceListParameterValues.{name,alias}, stringParameterValue, intParameterValue, decimalParameterValue, boolParameterValue, dateTimeParameterValue, timeParameterValue, dateParameterValue } let @EXPR = {isOfType.{name,alias},reportExpressionResultType.@REPORTEXPRESULTTYPE,sourceNode.id,fieldExpressionField.{name,alias},reportScript,expressionReferencesColumn.id,aggregateMethod.alias,aggregatedExpression*.{ isOfType.alias, reportExpressionResultType.@REPORTEXPRESULTTYPE, sourceNode.id, fieldExpressionField.id, reportScript, expressionReferencesColumn.id, aggregateMethod.{id,name,alias,isOfType.{name,alias}}}} let @CONDITION = {name,isOfType.{name,alias},conditionDisplayOrder,conditionIsHidden,conditionIsLocked,conditionExpression.@EXPR, operator.{isOfType.alias,alias}, columnForCondition.{name,alias}, conditionParameter.{isOfType.{name,alias}, paramTypeAndDefault.@REPORTEXPRESULTTYPE}} {name,description, alias, isOfType.{name,alias}, hideActionBar, hideReportHeader , rollupSubTotals,rollupGrandTotals, rollupRowCounts, rollupRowLabels, rollupOptionLabels, {rootNode,rootNode.relatedReportNodes*,rootNode.groupedNode*}.{name,isOfType.{name,alias},exactType,targetMustExist,targetNeedNotExist,resourceReportNodeType.{name,isOfType.{name,alias}},followInReverse,followRecursive,includeSelfInRecursive,constrainParent,checkExistenceOnly,followRelationship.{name, cardinality.alias, fromName, toName,{fromType, toType}.{name,alias,inherits.alias}},groupedBy.@EXPR}, reportColumns.{name,isOfType.{name,alias},columnDisplayOrder,columnIsHidden,columnExpression.@EXPR , columnFormattingRule.{isOfType.{name,alias},barColor,{barMinValue, barMaxValue}.{ intParameterValue, decimalParameterValue, dateTimeParameterValue, timeParameterValue, dateParameterValue },iconRules.iconRuleImage.{isOfType.{name,alias},name},colorRules.{isOfType.{name,alias},colorRuleForeground,colorRuleBackground},{iconRules, colorRules}.{isOfType.{name,alias},rulePriority,ruleCondition.@CONDITION}}, columnDisplayFormat.{isOfType.{name,alias},columnShowText, disableDefaultFormat, formatImageScale.alias,dateColumnFormat.alias,timeColumnFormat.alias,dateTimeColumnFormat.alias,formatAlignment.{name,alias, isOfType.{name,alias}},formatDecimalPlaces,formatPrefix,formatSuffix,maxLineCount,formatAlignment.alias,formatImageSize.alias}, columnGrouping.{isOfType.{name,alias},groupingPriority,groupingMethod.{name,alias}}, columnRollup.{isOfType.{name,alias},rollupMethod.{name,alias}}} , reportOrderBys.{isOfType.{name,alias},reverseOrder,orderPriority,orderByExpression.@EXPR }, hasConditions.@CONDITION, k:resourceInFolder.{name, isOfType.{name,alias}} , reportUsesDefinition.{name, isOfType.{name,alias}}, isDefaultDisplayReportForTypes.{name, isOfType.{name,alias}}, isDefaultPickerReportForTypes.{name, isOfType.{name,alias}}, k:navigationElementIcon.{name, isOfType.{name,alias}},hideOnDesktop,hideOnTablet,hideOnMobile, inSolution.{name, isOfType.{name,alias}} , reportStyle.{name, isOfType.{name,alias}} , let @ACTIONHOST = { k:resourceConsoleBehavior, k:selectionBehavior }.k:behaviorActionMenu.{ k:showNewActionsButton, k:showExportActionsButton, k:showEditInlineActionsButton, { k:menuItems, k:suppressedActions, k:includeActionsAsButtons }.{ { name, k:menuIconUrl, k:isActionButton, k:isMenuSeparator, { k:actionMenuItemToWorkflow }.{ name }, { k:actionMenuItemToReportTemplate }.{ name } } }, { k:includeTypesForNewButtons, k:suppressedTypesForNewMenu }.id } , resourceViewerConsoleForm.{name, alias, description, isOfType.{name,alias}}}"; string query = @"{'queries':['" + rq + @"'],'requests':[{'get':'basic','ids':[" + id + "],'hint':'unit test','rq':0}]}"; query = query.Replace("'", "\""); JsonQueryResult res = TestEntity.RunBatchTest(query, HttpStatusCode.OK, 1); Assert.That(res, Is.Not.Null); }
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); } }
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 CacheInvalidation_Bug21102_TypeOnly() { // Request all definitions and enum types string query = @"{""queries"":[""instancesOfType.name""], ""requests"":[{""get"":""basic"", ""aliases"":[""core:definition""], ""hint"":""CacheInvalidation_Bug21102"", ""rq"":0}]}"; JsonQueryResult res = TestEntity.RunBatchTest(query, HttpStatusCode.OK, 1); int count1 = res.Entities.Count; Assert.IsTrue(count1 > 1); // Create definition string defnName = "Test Defn " + Guid.NewGuid().ToString(); string createBody = @"{ ""ids"": [9007199254740925], ""entities"": [ { ""id"": 3121, ""typeIds"": [], ""fields"": [], ""relationships"": [], ""dataState"": ""Update"" }, { ""id"": 9007199254740925, ""typeIds"": [2436], ""fields"": [{ ""fieldId"": 2397, ""typeName"": ""String"", ""svalue"": """ + defnName + @""" }], ""relationships"": [{ ""relTypeId"": { ""id"": 2873, ""ns"": ""core"", ""alias"": ""inherits"" }, ""instances"": [{ ""entity"": 3121, ""relEntity"": 0, ""dataState"": ""Create"" }] }], ""dataState"": ""Create"" } ], ""entityRefs"": [ { ""id"": 9007199254740925 }, { ""id"": 3121, ""ns"": ""core"", ""alias"": ""userResource"" }, { ""id"": 2397, ""ns"": ""core"", ""alias"": ""name"" }, { ""id"": 2873, ""ns"": ""core"", ""alias"": ""inherits"" }, { ""id"": 2436, ""ns"": ""core"", ""alias"": ""definition"" } ] }"; createBody = createBody.Replace("3121", Entity.GetId("core:userResource").ToString()); createBody = createBody.Replace("2397", Entity.GetId("core:name").ToString()); createBody = createBody.Replace("2873", Entity.GetId("core:inherits").ToString()); createBody = createBody.Replace("2436", Entity.GetId("core:definition").ToString()); using (var request = new PlatformHttpRequest(@"data/v1/entity", PlatformHttpMethod.Post)) { request.PopulateBodyString(createBody); var response = request.GetResponse(); // check that it worked (200) Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); } // Request all definitions again res = TestEntity.RunBatchTest(query, HttpStatusCode.OK, 1); int count2 = res.Entities.Count; Assert.AreEqual(count1 + 1, count2, "Look for definition"); }
private long ReturnedFormId(JsonQueryResult result) { return(result.Results.First( ).Ids.First( )); }