public async Task Where_with_variable() { var query = @" query ($value: String!) { parentEntities (where: {path: 'Property', comparison: 'equal', value: [$value]}) { property } } "; var entity1 = new ParentEntity { Property = "Value1" }; var entity2 = new ParentEntity { Property = "Value2" }; var inputs = new Inputs(new Dictionary <string, object> { { "value", "value2" } }); var result = await RunQuery(await sqlInstance.Build(), query, inputs, null, entity1, entity2); ObjectApprover.VerifyWithJson(result); }
public async Task Many_children() { var queryString = @" { manyChildren { child1 { id } } }"; var parent = new WithManyChildrenEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000001"), }; var child1 = new Child1Entity { Id = Guid.Parse("00000000-0000-0000-0000-000000000002"), Parent = parent }; var child2 = new Child2Entity { Id = Guid.Parse("00000000-0000-0000-0000-000000000003"), Parent = parent }; parent.Child1 = child1; parent.Child2 = child2; var result = await RunQuery(queryString, null, parent, child1, child2); ObjectApprover.VerifyWithJson(result); }
public void List(int?first, int?after, int?last, int?before) { NamerFactory.AdditionalInformation = $"first_{first}_after_{after}_last_{last}_before_{before}"; var connection = ConnectionConverter.ApplyConnectionContext(list, first, after, last, before); ObjectApprover.VerifyWithJson(connection); }
public async Task CustomType() { var queryString = @" { customType { property } }"; var entity1 = new CustomTypeEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000001"), Property = long.MaxValue, }; var entity2 = new CustomTypeEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000002"), Property = 3, }; var result = await RunQuery(queryString, null, entity1, entity2); ObjectApprover.VerifyWithJson(result); }
public async Task In_multiple() { var queryString = @" { parentEntities (where: {path: 'Property', comparison: 'In', value: ['Value1', 'Value2']}) { property } }"; var entity1 = new ParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000001"), Property = "Value1" }; var entity2 = new ParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000002"), Property = "Value2" }; var result = await RunQuery(queryString, null, entity1, entity2); ObjectApprover.VerifyWithJson(result); }
public async Task Connection_first_page() { var queryString = @" { parentEntitiesConnection(first:2, after: '0') { totalCount edges { cursor node { property } } items { property } } } "; var entities = BuildEntities(8); var result = await RunQuery(queryString, null, entities.ToArray()); ObjectApprover.VerifyWithJson(result); }
public async Task OrderByDescending() { var queryString = @" { parentEntities (orderBy: {path: 'Property', descending: true}) { property } }"; var entity1 = new ParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000001"), Property = "Value1" }; var entity2 = new ParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000002"), Property = "Value2" }; var result = await RunQuery(queryString, null, entity1, entity2); ObjectApprover.VerifyWithJson(result); }
public async Task Root_connectionFiltered() { var query = @" { parentEntitiesConnectionFiltered { totalCount edges { cursor node { property } } items { property } } } "; var entity1 = new FilterParentEntity { Property = "Value1" }; var entity2 = new FilterParentEntity { Property = "Ignore" }; using (var database = await sqlInstance.Build()) { var result = await RunQuery(database, query, null, BuildFilters(), entity1, entity2); ObjectApprover.VerifyWithJson(result); } }
public void WithStatementBodyProperty() { var sagaType = module.GetTypeDefinition <WithStatementBodyPropertySaga>(); SagaDefinitionReader.TryGetSqlSagaDefinition(sagaType, out var definition); ObjectApprover.VerifyWithJson(definition); }
public async Task Multiple_nested() { var query = @" { level1Entities { level2Entity { level3Entity { property } } } }"; var level3 = new Level3Entity { Property = "Value" }; var level2 = new Level2Entity { Level3Entity = level3 }; var level1 = new Level1Entity { Level2Entity = level2 }; var result = await RunQuery(query, null, true, null, level1, level2, level3); ObjectApprover.VerifyWithJson(result); }
public async Task RootList_filtered() { var query = @" { parentEntitiesFiltered { property } }"; var entity1 = new FilterParentEntity { Property = "Value1" }; var entity2 = new FilterParentEntity { Property = "Ignore" }; using (var database = await sqlInstance.Build()) { var result = await RunQuery(database, query, null, BuildFilters(), entity1, entity2); ObjectApprover.VerifyWithJson(result); } }
public async Task Where_multiple() { var query = @" { parentEntities (where: [ {path: 'Property', comparison: 'startsWith"", value: 'Valu'} {path: 'Property', comparison: 'endsWith"", value: 'ue3'} ] ) { property } }"; var entity1 = new ParentEntity { Property = "Value1" }; var entity2 = new ParentEntity { Property = "Value2" }; var entity3 = new ParentEntity { Property = "Value3" }; var result = await RunQuery(query, null, true, null, entity1, entity2, entity3); ObjectApprover.VerifyWithJson(result); }
public async Task Many_children() { var query = @" { manyChildren { child1 { id } } }"; var parent = new WithManyChildrenEntity(); var child1 = new Child1Entity { Parent = parent }; var child2 = new Child2Entity { Parent = parent }; parent.Child1 = child1; parent.Child2 = child2; var result = await RunQuery(query, null, true, null, parent, child1, child2); ObjectApprover.VerifyWithJson(result); }
public async Task Skip_level() { var query = @" { skipLevel { level3Entity { property } } }"; var level3 = new Level3Entity { Property = "Value" }; var level2 = new Level2Entity { Level3Entity = level3 }; var level1 = new Level1Entity { Level2Entity = level2 }; var result = await RunQuery(await sqlInstance.Build(), query, null, null, level1, level2, level3); ObjectApprover.VerifyWithJson(result); }
public virtual void SaveWithWeirdCharacters() { var endpointName = nameof(SaveWithWeirdCharacters); var definition = new SagaDefinition( tableSuffix: "SagaWithWeirdCharactersಠ_ಠ", name: "SagaWithWeirdCharactersಠ_ಠ", correlationProperty: new CorrelationProperty ( name: "SimplePropertyಠ_ಠ", type: CorrelationPropertyType.String ) ); var execute = new TestDelegate(() => { DropAndCreate(definition, endpointName, schema); var id = Guid.NewGuid(); var result = SaveWeirdAsync(id, endpointName).GetAwaiter().GetResult(); Assert.IsNotNull(result); #if net452 ObjectApprover.VerifyWithJson(result, s => s.Replace(id.ToString(), "theSagaId")); #endif }); if (SupportsUnicodeIdentifiers) { execute(); } else { Assert.Throws <Exception>(execute); } }
public void GetNextChunk() { var startSlice = new DateTime(2000, 1, 1, 1, 1, 1, DateTimeKind.Utc); var timeout1Time = startSlice.AddSeconds(1); var timeout2Time = goodUtcNowValue.AddSeconds(10); var timeout1 = new TimeoutData { Destination = "theDestination", State = new byte[] { 1 }, Time = timeout1Time, Headers = new Dictionary <string, string>() }; var timeout2 = new TimeoutData { Destination = "theDestination", State = new byte[] { 1 }, Time = timeout2Time, Headers = new Dictionary <string, string>() }; var persister = Setup(schema); persister.Add(timeout1, null).Await(); persister.Add(timeout2, null).Await(); var nextChunk = persister.GetNextChunk(startSlice).Result; Assert.That(nextChunk.NextTimeToQuery, Is.EqualTo(timeout2Time).Within(TimeSpan.FromSeconds(1))); Assert.IsNotNull(nextChunk); Assert.AreEqual(DateTimeKind.Utc, nextChunk.NextTimeToQuery.Kind); #if NET452 ObjectApprover.VerifyWithJson(nextChunk, s => s.Replace(timeout1.Id, "theId")); #endif }
public async Task Skip() { var queryString = @" { parentEntities (skip: 1) { property } }"; var entity1 = new ParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000001"), Property = "Value1" }; var entity2 = new ParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000002"), Property = "Value2" }; var result = await RunQuery(queryString, null, entity1, entity2); ObjectApprover.VerifyWithJson(result); }
public void GetNextChunk_CleanupOnce() { var startSlice = new DateTime(2000, 1, 1, 1, 1, 1, DateTimeKind.Utc); var timeout1Time = startSlice.AddYears(-10); var timeout1 = new TimeoutData { Destination = "theDestination", State = new byte[] { 1 }, Time = timeout1Time, Headers = new Dictionary <string, string>() }; var persister = Setup(schema, TimeSpan.FromMinutes(2)); persister.Add(timeout1, null).Await(); //Call once triggering clean-up mode persister.GetNextChunk(startSlice).GetAwaiter().GetResult(); //Call again to check if clean-up mode is now disabled -- expect no results var nextChunk = persister.GetNextChunk(startSlice).Result; Assert.IsNotNull(nextChunk); #if NET452 ObjectApprover.VerifyWithJson(nextChunk, s => s.Replace(timeout1.Id, "theId")); #endif }
public async Task Where_case_sensitive() { var queryString = @" { parentEntities (where: {path: 'Property', comparison: 'equal', value: 'Value2', case: 'Ordinal' }) { property } }"; var entity1 = new ParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000001"), Property = "Value1" }; var entity2 = new ParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000002"), Property = "Value2" }; var result = await RunQuery(queryString, null, entity1, entity2); ObjectApprover.VerifyWithJson(result); }
public async Task RootList_filtered() { var queryString = @" { parentEntitiesFiltered { property } }"; var entity1 = new FilterParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000001"), Property = "Value1" }; var entity2 = new FilterParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000002"), Property = "Ignore" }; var result = await RunQuery(queryString, null, true, BuildFilters(), entity1, entity2); ObjectApprover.VerifyWithJson(result); }
public async Task Where_with_variable() { var queryString = @" query ($value: String!) { parentEntities (where: {path: 'Property', comparison: 'equal', value: [$value]}) { property } } "; var entity1 = new ParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000001"), Property = "Value1" }; var entity2 = new ParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000002"), Property = "Value2" }; var inputs = new Inputs(new Dictionary <string, object> { { "value", "value2" } }); var result = await RunQuery(queryString, inputs, entity1, entity2); ObjectApprover.VerifyWithJson(result); }
public async Task Root_connectionFiltered() { var queryString = @" { parentEntitiesConnectionFiltered { totalCount edges { cursor node { property } } items { property } } } "; var entity1 = new FilterParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000001"), Property = "Value1" }; var entity2 = new FilterParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000002"), Property = "Ignore" }; var result = await RunQuery(queryString, null, true, BuildFilters(), entity1, entity2); ObjectApprover.VerifyWithJson(result); }
public async Task Id_multiple() { var queryString = @" { parentEntities (ids: ['00000000-0000-0000-0000-000000000001', '00000000-0000-0000-0000-000000000002']) { property } }"; var entity1 = new ParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000001"), Property = "Value1" }; var entity2 = new ParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000002"), Property = "Value2" }; var entity3 = new ParentEntity { Id = Guid.Parse("00000000-0000-0000-0000-000000000003"), Property = "Value3" }; var result = await RunQuery(queryString, null, entity1, entity2, entity3); ObjectApprover.VerifyWithJson(result); }
[Ignore] //TODO Delete? public void Commit_on_develop_and_previous_commit_on_master_is_a_hotfix() { var commitOnDevelop = new MockCommit { CommitterEx = 1.Seconds().Ago().ToSignature() }; var finder = new DevelopVersionFinder(); var mockBranch = new MockBranch("develop") { commitOnDevelop }; var repository = new MockRepository { Branches = new MockBranchCollection { new MockBranch("master") { new MockMergeCommit { MessageEx = "hotfix-0.1.1", CommitterEx = 2.Seconds().Ago().ToSignature() } }, mockBranch }, }; var version = finder.FindVersion(new GitVersionContext(repository, mockBranch, new Config())); Assert.AreEqual(2, version.Minor, "Minor should be master.Minor+1"); ObjectApprover.VerifyWithJson(version, Scrubbers.GuidAndDateScrubber); }
public async Task Skip_level() { var queryString = @" { skipLevel { level3Entity { property } } }"; var level3 = new Level3Entity { Id = Guid.Parse("00000000-0000-0000-0000-000000000003"), Property = "Value" }; var level2 = new Level2Entity { Id = Guid.Parse("00000000-0000-0000-0000-000000000002"), Level3Entity = level3 }; var level1 = new Level1Entity { Id = Guid.Parse("00000000-0000-0000-0000-000000000001"), Level2Entity = level2 }; var result = await RunQuery(queryString, null, level1, level2, level3); ObjectApprover.VerifyWithJson(result); }
public void VerifyLambdasAreCalled() { var directories = new ConcurrentBag <CapturedDirectory>(); var files = new ConcurrentBag <CapturedFile>(); var targetDirectory = Path.Combine(TestContext.CurrentContext.TestDirectory, "DirectorySnippetExtractor/VerifyLambdasAreCalled"); var result = new TestResult(); var extractor = new DirectorySnippetExtractor( directoryFilter: path => { var capture = new CapturedDirectory { Path = path }; directories.Add(capture); return(true); }, fileFilter: path => { var capture = new CapturedFile { Path = path }; files.Add(capture); return(true); }, packageOrder: component => new List <string>() ); extractor.ReadComponents(targetDirectory); result.Files = files.OrderBy(file => file.Path).ToList(); result.Directories = directories.OrderBy(file => file.Path).ToList(); ObjectApprover.VerifyWithJson(result, Scrubber.Scrub); }
public void TransposeRegroupsPerTargetRepositoryAndBranch() { var m = new Mapper() .Add(new Parts("o1/r1", TreeEntryTargetType.Blob, "b1", "a"), new Parts("o1/r2", TreeEntryTargetType.Blob, "b1", "a"), new Parts("o1/r2", TreeEntryTargetType.Blob, "b1", "b"), new Parts("o1/r3", TreeEntryTargetType.Blob, "b1", "a")) .Add(new Parts("o1/r1", TreeEntryTargetType.Tree, "b1", "t1"), new Parts("o1/r2", TreeEntryTargetType.Tree, "b1", "t")) .Add(new Parts("o2/r4", TreeEntryTargetType.Tree, "b3", "t3"), new Parts("o1/r3", TreeEntryTargetType.Tree, "b1", "sub/t"), new Parts("o1/r2", TreeEntryTargetType.Tree, "b1", "t2")) .Add(new Parts("o1/r1", TreeEntryTargetType.Tree, "b1", "t2"), new Parts("o1/r2", TreeEntryTargetType.Tree, "b2", "t"), new Parts("o1/r3", TreeEntryTargetType.Tree, "b1", "t")) .Remove(new Parts("o1/r2", TreeEntryTargetType.Blob, "b1", "c")) .Remove(new Parts("o1/r3", TreeEntryTargetType.Blob, "b1", "sub/level/d")) .Remove(new Parts("o1/r4", TreeEntryTargetType.Blob, "b1", "e")); var t = m.Transpose(); Assert.Equal(3, t.Values.SelectMany(x => x.Where(p => p.Item2 is Parts.NullParts)).Count()); var orbs = t.Keys.ToList(); orbs.Sort(StringComparer.Ordinal); ObjectApprover.VerifyWithJson(orbs); }
public void RoundTrip() { var factory = new EncryptionFactory(); var serializer = new JsonSerializer { ContractResolver = factory.GetContractResolver() }; using (var algorithm = CryptoBuilder.Build()) { string serialized; using (factory.GetEncryptSession(algorithm)) { var instance = new ClassToSerialize { Property1 = "Property1Value", Property2 = "Property2Value" }; serialized = serializer.Serialize(instance); } using (factory.GetDecryptSession(algorithm)) { var result = serializer.Deserialize <ClassToSerialize>(serialized); ObjectApprover.VerifyWithJson(result); } } }
public void Pull_branch_with_2_commits() { var repoPath = Clone(ASBMTestRepoWorkingDirPath); using (var repo = new Repository(repoPath)) { // Create a pull request branch from the parent of current develop tip repo.Branches.Add("pull/1735/merge", "develop~").ForceCheckout(); AddOneCommitToHead(repo, "code"); AddOneCommitToHead(repo, "more code"); var pullBranch = repo.Head; var finder = new PullVersionFinder(); var version = finder.FindVersion(new GitVersionContext { Repository = repo, CurrentBranch = pullBranch, }); var masterVersion = FindersHelper.RetrieveMasterVersion(repo); Assert.AreEqual(masterVersion.Minor + 1, version.Minor, "Minor should be master.Minor+1"); Assert.AreEqual(1735, version.PreReleaseTag.Number); ObjectApprover.VerifyWithJson(version, Scrubbers.GuidAndDateScrubber); } }
public void Override_using_tag_with_a_stable_release() { var commit = new MockCommit { CommitterEx = 2.Seconds().Ago().ToSignature() }; var finder = new MasterVersionFinder(); var mockBranch = new MockBranch("master") { commit }; var mockRepository = new MockRepository { Branches = new MockBranchCollection { mockBranch, }, Tags = new MockTagCollection { new MockTag { NameEx = "0.2.0", TargetEx = commit } } }; var version = finder.FindVersion(new GitVersionContext(mockRepository, mockBranch, new Config())); Assert.AreEqual(0, version.Patch, "Should set the patch version to the patch of the latest hotfix merge commit"); ObjectApprover.VerifyWithJson(version, Scrubbers.GuidAndDateScrubber); }