public async Task DoesNotRunPoliciesForNewlyCreatedBranch() { //arrange var fakePolicy = new FakePolicy(Mock.Of <IPullRequestMonitor>()); var policies = new[] { fakePolicy }; var subject = new MergePolicyRunner(policies, Mock.Of <ILogger <MergePolicyRunner> >()); var payload = new GitPushEventPayload { Resource = new GitPushEventResource { RefUpdates = new List <GitPushEventRefUpdate> { new GitPushEventRefUpdate { Name = "refs/heads/master", OldObjectId = "0000000000000000000000000", NewObjectId = "1231231231231231231231231" } }, Repository = new GitPushEventRepository { Name = "RepoName" } } }; //act await subject.RunAsync(Mock.Of <IAzureDevOpsClient>(), payload); //assert Assert.False(fakePolicy.WasCalled); }
public override object BuildUp(IBuilderContext context, object buildKey, object existing) { Policy = context.Policies.Get <FakePolicy>(typeof(object)); return(base.BuildUp(context, buildKey, existing)); }
public void CanClearPolicy() { PolicyList list = new PolicyList(); FakePolicy policy = new FakePolicy(); list.Set(typeof(string), string.Empty, typeof(IBuilderPolicy), policy); list.Clear(typeof(string), string.Empty, typeof(IBuilderPolicy)); Assert.IsNull(list.GetOrDefault(typeof(IBuilderPolicy), typeof(string), out _)); }
public void CanClearPolicy() { PolicyList list = new PolicyList(); FakePolicy policy = new FakePolicy(); list.Set <IBuilderPolicy>(policy, typeof(string)); list.Clear <IBuilderPolicy>(typeof(string)); Assert.IsNull(list.Get <IBuilderPolicy>(typeof(string))); }
public void DefaultPolicyUsedWhenSpecificPolicyIsntAvailable() { PolicyList list = new PolicyList(); FakePolicy defaultPolicy = new FakePolicy(); list.Set(null, null, typeof(IBuilderPolicy), defaultPolicy); IBuilderPolicy result = list.GetOrDefault(typeof(IBuilderPolicy), typeof(object), out _); Assert.AreSame(defaultPolicy, result); }
public void CanRegisterGenericPolicyAndRetrieveWithSpecificGenericInstance() { PolicyList list = new PolicyList(); FakePolicy policy = new FakePolicy(); list.Set(typeof(IDummy <>), string.Empty, typeof(FakePolicy), policy); var result = list.GetOrDefault(typeof(FakePolicy), typeof(IDummy <int>), out _); Assert.AreSame(policy, result); }
public void PolicyRegisteredForTypeIsUsedIfKeyIsNotFound() { PolicyList list = new PolicyList(); FakePolicy policyForType = new FakePolicy(); list.Set <IBuilderPolicy>(policyForType, typeof(object)); IBuilderPolicy result = list.Get <IBuilderPolicy>(new NamedTypeBuildKey <object>("name")); Assert.Same(policyForType, result); }
public void PolicyRegisteredForOpenGenericTypeUsedIfKeyIsNotFound() { PolicyList list = new PolicyList(); FakePolicy policyForType = new FakePolicy(); list.Set <IBuilderPolicy>(policyForType, typeof(IDummy <>)); IBuilderPolicy result = list.Get <IBuilderPolicy>(new NamedTypeBuildKey <IDummy <object> >("name")); Assert.AreSame(policyForType, result); }
public void CanAddPolicyToBagAndRetrieveIt() { PolicyList list = new PolicyList(); FakePolicy policy = new FakePolicy(); list.Set <IBuilderPolicy>(policy, typeof(object)); IBuilderPolicy result = list.Get <IBuilderPolicy>(typeof(object)); Assert.AreSame(policy, result); }
public void CanRegisterGenericPolicyAndRetrieveWithSpecificGenericInstance() { PolicyList list = new PolicyList(); FakePolicy policy = new FakePolicy(); list.Set(policy, typeof(IDummy <>)); FakePolicy result = list.Get <FakePolicy>(typeof(IDummy <int>)); Assert.AreSame(policy, result); }
public void DefaultPolicyUsedWhenSpecificPolicyIsntAvailable() { PolicyList list = new PolicyList(); FakePolicy defaultPolicy = new FakePolicy(); list.SetDefault <IBuilderPolicy>(defaultPolicy); IBuilderPolicy result = list.Get <IBuilderPolicy>(typeof(object)); Assert.AreSame(defaultPolicy, result); }
public void CanAddPolicyToBagAndRetrieveIt() { PolicyList list = new PolicyList(); FakePolicy policy = new FakePolicy(); list.Set(typeof(object), string.Empty, typeof(IBuilderPolicy), policy); IBuilderPolicy result = list.GetOrDefault(typeof(IBuilderPolicy), typeof(object), out _); Assert.AreSame(policy, result); }
public void PolicyRegisteredForTypeIsUsedIfKeyIsNotFound() { PolicyList list = new PolicyList(); FakePolicy policyForType = new FakePolicy(); list.Set(typeof(object), string.Empty, typeof(IBuilderPolicy), policyForType); IBuilderPolicy result = list.GetOrDefault(typeof(IBuilderPolicy), new NamedTypeBuildKey <object>("name"), out _); Assert.AreSame(policyForType, result); }
public void WillAskInnerPolicyListWhenOuterHasNoAnswer() { PolicyList innerList = new PolicyList(); PolicyList outerList = new PolicyList(innerList); FakePolicy policy = new FakePolicy(); innerList.Set(policy, typeof(object)); FakePolicy result = outerList.Get <FakePolicy>(typeof(object)); Assert.AreSame(policy, result); }
public void CanGetLocalPolicy() { PolicyList innerList = new PolicyList(); PolicyList outerList = new PolicyList(innerList); FakePolicy innerPolicy = new FakePolicy(); innerList.Set(innerPolicy, typeof(object)); FakePolicy result = outerList.Get <FakePolicy>(typeof(object), true); Assert.Null(result); }
public void CanAddMultiplePoliciesToBagAndRetrieveThem() { PolicyList list = new PolicyList(); FakePolicy policy1 = new FakePolicy(); FakePolicy policy2 = new FakePolicy(); list.Set <IBuilderPolicy>(policy1, "1"); list.Set <IBuilderPolicy>(policy2, "2"); Assert.AreSame(policy1, list.Get <IBuilderPolicy>("1")); Assert.AreSame(policy2, list.Get <IBuilderPolicy>("2")); }
public void WillUseInnerDefaultPolicyWhenOuterHasNoAnswer() { PolicyList innerList = new PolicyList(); PolicyList outerList = new PolicyList(innerList); FakePolicy policy = new FakePolicy(); innerList.SetDefault(policy); FakePolicy result = outerList.Get <FakePolicy>(typeof(object)); Assert.Same(policy, result); }
public void SetOverwritesExistingPolicy() { PolicyList list = new PolicyList(); FakePolicy policy1 = new FakePolicy(); FakePolicy policy2 = new FakePolicy(); list.Set(typeof(string), string.Empty, typeof(IBuilderPolicy), policy1); list.Set(typeof(string), string.Empty, typeof(IBuilderPolicy), policy2); IBuilderPolicy result = list.GetOrDefault(typeof(IBuilderPolicy), typeof(string), out _); Assert.AreSame(policy2, result); }
public void SpecificGenericPolicyComesBeforeGenericPolicy() { PolicyList list = new PolicyList(); FakePolicy genericPolicy = new FakePolicy(); FakePolicy specificPolicy = new FakePolicy(); list.Set(typeof(IDummy <>), string.Empty, typeof(FakePolicy), genericPolicy); list.Set(typeof(IDummy <int>), string.Empty, typeof(FakePolicy), specificPolicy); var result = list.GetOrDefault(typeof(FakePolicy), typeof(IDummy <int>), out _); Assert.AreSame(specificPolicy, result); }
public void SpecificPolicyOverridesDefaultPolicy() { PolicyList list = new PolicyList(); FakePolicy defaultPolicy = new FakePolicy(); FakePolicy specificPolicy = new FakePolicy(); list.Set(typeof(object), string.Empty, typeof(IBuilderPolicy), specificPolicy); list.Set(null, null, typeof(IBuilderPolicy), defaultPolicy); IBuilderPolicy result = list.GetOrDefault(typeof(IBuilderPolicy), typeof(object), out _); Assert.AreSame(specificPolicy, result); }
public void CanClearDefaultPolicy() { PolicyList list = new PolicyList(); FakePolicy defaultPolicy = new FakePolicy(); list.SetDefault <IBuilderPolicy>(defaultPolicy); list.ClearDefault <IBuilderPolicy>(); IBuilderPolicy result = list.Get <IBuilderPolicy>(typeof(object)); Assert.IsNull(result); }
public void SpecificPolicyOverridesDefaultPolicy() { PolicyList list = new PolicyList(); FakePolicy defaultPolicy = new FakePolicy(); FakePolicy specificPolicy = new FakePolicy(); list.Set <IBuilderPolicy>(specificPolicy, typeof(object)); list.SetDefault <IBuilderPolicy>(defaultPolicy); IBuilderPolicy result = list.Get <IBuilderPolicy>(typeof(object)); Assert.AreSame(specificPolicy, result); }
public void SpecificGenericPolicyComesBeforeGenericPolicy() { PolicyList list = new PolicyList(); FakePolicy genericPolicy = new FakePolicy(); FakePolicy specificPolicy = new FakePolicy(); list.Set(genericPolicy, typeof(IDummy <>)); list.Set(specificPolicy, typeof(IDummy <int>)); FakePolicy result = list.Get <FakePolicy>(typeof(IDummy <int>)); Assert.AreSame(specificPolicy, result); }
public void SetOverwritesExistingPolicy() { PolicyList list = new PolicyList(); FakePolicy policy1 = new FakePolicy(); FakePolicy policy2 = new FakePolicy(); list.Set <IBuilderPolicy>(policy1, typeof(string)); list.Set <IBuilderPolicy>(policy2, typeof(string)); IBuilderPolicy result = list.Get <IBuilderPolicy>(typeof(string)); Assert.AreSame(policy2, result); }
public void PolicyForClosedGenericTypeOverridesPolicyForOpenType() { PolicyList list = new PolicyList(); FakePolicy openTypePolicy = new FakePolicy(); FakePolicy closedTypePolicy = new FakePolicy(); list.Set <IBuilderPolicy>(openTypePolicy, typeof(IDummy <>)); list.Set <IBuilderPolicy>(closedTypePolicy, typeof(IDummy <object>)); IBuilderPolicy result = list.Get <IBuilderPolicy>(new NamedTypeBuildKey <IDummy <object> >("name")); Assert.AreSame(closedTypePolicy, result); }
public void CanClearDefaultPolicy() { PolicyList list = new PolicyList(); FakePolicy defaultPolicy = new FakePolicy(); list.Set(null, null, typeof(IBuilderPolicy), defaultPolicy); list.Clear(null, null, typeof(IBuilderPolicy)); IBuilderPolicy result = list.GetOrDefault(typeof(IBuilderPolicy), typeof(object), out _); Assert.IsNull(result); }
public void PolicyForClosedGenericTypeOverridesPolicyForOpenType() { PolicyList list = new PolicyList(); FakePolicy openTypePolicy = new FakePolicy(); FakePolicy closedTypePolicy = new FakePolicy(); list.Set(typeof(IDummy <>), string.Empty, typeof(IBuilderPolicy), openTypePolicy); list.Set(typeof(IDummy <object>), string.Empty, typeof(IBuilderPolicy), closedTypePolicy); IBuilderPolicy result = list.GetOrDefault(typeof(IBuilderPolicy), new NamedTypeBuildKey <IDummy <object> >("name"), out _); Assert.AreSame(closedTypePolicy, result); }
public void SpecificInnerPolicyOverridesDefaultOuterPolicy() { PolicyList innerList = new PolicyList(); PolicyList outerList = new PolicyList(innerList); FakePolicy innerPolicy = new FakePolicy(); FakePolicy outerPolicy = new FakePolicy(); innerList.Set(innerPolicy, typeof(object)); outerList.SetDefault(outerPolicy); FakePolicy result = outerList.Get <FakePolicy>(typeof(object)); Assert.Same(innerPolicy, result); }
public void WillAskInnerPolicyListWhenOuterHasNoAnswer() { PolicyList innerList = new PolicyList(); PolicyList outerList = new PolicyList(innerList); FakePolicy policy = new FakePolicy(); innerList.Set(typeof(object), string.Empty, typeof(FakePolicy), policy); IPolicyList containingPolicies; var result = outerList.GetOrDefault(typeof(FakePolicy), typeof(object), out containingPolicies); Assert.AreSame(policy, result); Assert.AreSame(innerList, containingPolicies); }
public void WillUseInnerDefaultPolicyWhenOuterHasNoAnswer() { PolicyList innerList = new PolicyList(); PolicyList outerList = new PolicyList(innerList); FakePolicy policy = new FakePolicy(); innerList.Set(null, null, typeof(FakePolicy), policy); IPolicyList containingPolicyList; var result = outerList.GetOrDefault(typeof(FakePolicy), typeof(object), out containingPolicyList); Assert.AreSame(policy, result); Assert.AreSame(innerList, containingPolicyList); }