public void Task() { var query = new Query(new MockAssetType("Task"), new MockAttributeDefinition("Story", AttributeType.Relation)); var testMe = new QueryURLBuilder(query); Assert.AreEqual("Data/Task?sel=Mock.Story", testMe.ToString()); }
public void Find2() { var query = new Query(new MockAssetType()); var findin = new AttributeSelection { new MockAttributeDefinition("Name"), new MockAttributeDefinition("Description") }; query.Find = new QueryFind("TextToFind", findin); var testMe = new QueryURLBuilder(query); Assert.AreEqual("Data/Mock?sel=&find=\"TextToFind\"&findin=Mock.Name,Mock.Description", testMe.ToString()); }
public void Name() { var query = new Query(new MockAssetType()); var term = new FilterTerm(new MockAttributeDefinition("Name")); term.Exists(); query.Filter = term; var testMe = new QueryURLBuilder(query); Assert.AreEqual("Data/Mock?sel=&where=%2BMock.Name", testMe.ToString()); }
public void SimpleQueryWithAttributes() { var query = new Query(new MockAssetType()); query.Selection.Add(new MockAttributeDefinition("DefaultRole")); query.Selection.Add(new MockAttributeDefinition("Name")); query.Selection.Add(new MockAttributeDefinition("Nickname")); var testMe = new QueryURLBuilder(query); Assert.AreEqual("Data/Mock?sel=Mock.DefaultRole,Mock.Name,Mock.Nickname", testMe.ToString()); }
public void Filter() { var query = new Query(new MockAssetType()); var term = new FilterTerm(new MockAttributeDefinition("Name")); term.Equal("Jerry's Story"); query.Filter = term; var testMe = new QueryURLBuilder(query); const string expectedUrl = "Data/Mock?sel=&where=Mock.Name='Jerry''s+Story'"; Assert.AreEqual(expectedUrl, Uri.UnescapeDataString(testMe.ToString())); }
public void StoryWithMomentByName() { var storyId = new Oid(new MockAssetType("Story"), 1094, 15); var query = new Query(storyId); query.Selection.Add(new MockAttributeDefinition("Name")); var testMe = new QueryURLBuilder(query); Assert.AreEqual("Data/Story/1094/15/Name?", testMe.ToString()); }
public void Find1() { var query = new Query(new MockAssetType()) { Find = new QueryFind("TextToFind") }; var testMe = new QueryURLBuilder(query); Assert.AreEqual("Data/Mock?sel=&find=\"TextToFind\"", testMe.ToString()); }
public void MultipleAttributes() { var query = new Query(new MockAssetType()); query.Selection.Add(new MockAttributeDefinition("DefaultRole")); query.Selection.Add(new MockAttributeDefinition("Name")); query.Selection.Add(new MockAttributeDefinition("Nickname")); var term = new FilterTerm(new MockAttributeDefinition("Name")); term.Equal("Jerry"); query.Filter = term; var testMe = new QueryURLBuilder(query); Assert.AreEqual("Data/Mock?sel=Mock.DefaultRole,Mock.Name,Mock.Nickname&where=Mock.Name='Jerry'", testMe.ToString()); }
public void MockItemByDate() { var testDate = new DateTime(2007, 10, 1, 3, 0, 0); var query = new Query(new MockAssetType()) { AsOf = testDate }; var testMe = new QueryURLBuilder(query); Assert.AreEqual("Data/Mock?sel=&asof=2007-10-01T03:00:00", testMe.ToString()); }
public void NameAndEstimate() { IAttributeDefinition estimateAttribute = new MockAttributeDefinition("Estimate"); var query = new Query(new MockAssetType()); query.Selection.Add(new MockAttributeDefinition("Name")); query.Selection.Add(estimateAttribute); query.OrderBy.MinorSort(estimateAttribute, OrderBy.Order.Ascending); var testMe = new QueryURLBuilder(query); Assert.AreEqual("Data/Mock?sel=Mock.Name,Mock.Estimate&sort=Mock.Estimate", testMe.ToString()); }
public void MockItemByNameWithPaging() { var query = new Query(new MockAssetType()); query.Selection.Add(new MockAttributeDefinition("Name")); query.Paging.Start = 5; var testMe = new QueryURLBuilder(query); Assert.AreEqual("Data/Mock?sel=Mock.Name&page=2147483647,5", testMe.ToString()); query.Paging.PageSize = 10; testMe = new QueryURLBuilder(query); Assert.AreEqual("Data/Mock?sel=Mock.Name&page=10,5", testMe.ToString()); }
public void MockItemWithVariables() { var variable = new QueryVariable("Name", "Name1", "Name2", "Name3"); var nameAttribute = new MockAttributeDefinition("Name"); var query = new Query(new MockAssetType()); query.Variables.Add(variable); var filter = new FilterTerm(nameAttribute); filter.Operate(FilterTerm.Operator.Equal, variable); query.Filter = filter; query.Selection.Add(new MockAttributeDefinition("Reference")); var builder = new QueryURLBuilder(query); Assert.AreEqual("Data/Mock?sel=Mock.Reference&where=Mock.Name=$Name&with=$Name=Name1,Name2,Name3", builder.ToString()); }
public void QueryTrackedEpicsByProject() { var metaConnector = new V1APIConnector(VersionOneUrl + "meta.v1/", "admin", "admin"); var metaModel = new MetaModel(metaConnector); var epicType = metaModel.GetAssetType("Epic"); var scopeType = metaModel.GetAssetType("Scope"); var query = new Query(epicType); const string scopeId = "Scope:1025"; var notClosedScopeAttribute = scopeType.GetAttributeDefinition("AssetState"); var notClosedEpicAttribute = epicType.GetAttributeDefinition("AssetState"); var notClosedEpicTerm = new FilterTerm(notClosedEpicAttribute); notClosedEpicTerm.NotEqual("Closed"); var notClosedScopeTerm = new FilterTerm(notClosedScopeAttribute); notClosedScopeTerm.NotEqual("Closed"); var scopeAttribute = epicType.GetAttributeDefinition("Scope.ParentMeAndUp"); scopeAttribute = scopeAttribute.Filter(notClosedScopeTerm); var scopeTerm = new FilterTerm(scopeAttribute); scopeTerm.Equal(scopeId); var superAndUpAttribute = epicType.GetAttributeDefinition("SuperAndUp"); superAndUpAttribute = superAndUpAttribute.Filter(scopeTerm); var superAndUpTerm = new FilterTerm(superAndUpAttribute); superAndUpTerm.NotExists(); var filter = new AndFilterTerm(scopeTerm, notClosedEpicTerm, superAndUpTerm); query.Filter = filter; var builder = new QueryURLBuilder(query); var result = builder.ToString(); Assert.AreEqual("Data/Epic?sel=&where=(Epic.Scope.ParentMeAndUp[AssetState!='Closed']='Scope%3a1025';Epic.AssetState!='Closed';-Epic.SuperAndUp[Scope.ParentMeAndUp[AssetState!='Closed']='Scope:1025'])", result); }
public void DatePrecision() { var date = new DateTime(2012, 6, 21, 15, 17, 53, 504); var changeDateAttribute = new MockAttributeDefinition("ChangeDate"); var query = new Query(new MockAssetType()); query.Selection.Add(new MockAttributeDefinition("Name")); var filter = new FilterTerm(changeDateAttribute); filter.Greater(date); var builder = new QueryURLBuilder(query); query.Filter = filter; var queryString = builder.ToString(); Assert.AreEqual("Data/Mock?sel=Mock.Name&where=Mock.ChangeDate>'2012-06-21T15%3a17%3a53.504'", queryString); }
public void DatePrecisionInVariable() { var date = new DateTime(2012, 6, 21, 15, 17, 53, 504); var changeDateAttribute = new MockAttributeDefinition("ChangeDate"); var query = new Query(new MockAssetType()); var variable = new QueryVariable("requestedDate", date); query.Selection.Add(new MockAttributeDefinition("Name")); query.Variables.Add(variable); var filter = new FilterTerm(changeDateAttribute); filter.Operate(FilterTerm.Operator.Equal, variable); var builder = new QueryURLBuilder(query); query.Filter = filter; var queryString = builder.ToString(); Assert.AreEqual("Data/Mock?sel=Mock.Name&where=Mock.ChangeDate=$requestedDate&with=$requestedDate=2012-06-21T15%3a17%3a53.504", queryString); }
public void QueryTrackedEpicsForMultipleProjectsUsingVariables() { var metaConnector = new V1APIConnector(VersionOneUrl + "meta.v1/", "admin", "admin"); var metaModel = new MetaModel(metaConnector); var scopeVariable = new QueryVariable("Scope", "Scope:2176"); var epicType = metaModel.GetAssetType("Epic"); var query = new Query(epicType); var notClosedEpicAttribute = epicType.GetAttributeDefinition("AssetState"); var notClosedEpicTerm = new FilterTerm(notClosedEpicAttribute); notClosedEpicTerm.NotEqual("Closed"); var scopeAttribute = epicType.GetAttributeDefinition("Scope"); var scopeTerm = new FilterTerm(scopeAttribute); scopeTerm.Operate(FilterTerm.Operator.Equal, scopeVariable); var superAndUpAttribute = epicType.GetAttributeDefinition("SuperAndUp").Filter(scopeTerm); var superAndUpTerm = new FilterTerm(superAndUpAttribute); superAndUpTerm.NotExists(); var filter = new AndFilterTerm(notClosedEpicTerm, scopeTerm, superAndUpTerm); query.Filter = filter; query.Variables.Add(scopeVariable); var builder = new QueryURLBuilder(query); var result = builder.ToString(); Assert.AreEqual("Data/Epic?sel=&where=(Epic.AssetState!='Closed';Epic.Scope=$Scope;-Epic.SuperAndUp[Scope=$Scope])&with=$Scope=Scope%3A2176", result); }
public void Find1() { var query = new Query(new MockAssetType()) {Find = new QueryFind("TextToFind")}; var testMe = new QueryURLBuilder(query); Assert.AreEqual("Data/Mock?sel=&find=\"TextToFind\"", testMe.ToString()); }
public void MockItemByDate() { var testDate = new DateTime(2007, 10, 1, 3, 0, 0); var query = new Query(new MockAssetType()) {AsOf = testDate}; var testMe = new QueryURLBuilder(query); Assert.AreEqual("Data/Mock?sel=&asof=2007-10-01T03:00:00", testMe.ToString()); }
public void SimpleQuery() { var testMe = new QueryURLBuilder(new Query(new MockAssetType())); Assert.AreEqual("Data/Mock?sel=", testMe.ToString()); }