private void SetupMocks() { ServiceFactoryMock.Setup(p => p.CreateConnector(ConnectionInfo, SocketFactoryMock.Object)) .Returns(ConnectorMock.Object); ConnectorMock.Setup(p => p.Connect(ConnectionInfo)) .Returns(ClientSocket); ServiceFactoryMock.Setup(p => p.CreateProtocolVersionExchange()) .Returns(_protocolVersionExchangeMock.Object); _protocolVersionExchangeMock.Setup(p => p.Start(Session.ClientVersion, ClientSocket, ConnectionInfo.Timeout)) .Returns(ServerIdentification); ServiceFactoryMock.Setup( p => p.CreateKeyExchange(ConnectionInfo.KeyExchangeAlgorithms, new[] { _keyExchangeAlgorithm })).Returns(_keyExchangeMock.Object); _keyExchangeMock.Setup(p => p.Name).Returns(_keyExchangeAlgorithm); _keyExchangeMock.Setup(p => p.Start(Session, It.IsAny <KeyExchangeInitMessage>())); _keyExchangeMock.Setup(p => p.ExchangeHash).Returns(SessionId); _keyExchangeMock.Setup(p => p.CreateServerCipher()).Returns((Cipher)null); _keyExchangeMock.Setup(p => p.CreateClientCipher()).Returns((Cipher)null); _keyExchangeMock.Setup(p => p.CreateServerHash()).Returns((HashAlgorithm)null); _keyExchangeMock.Setup(p => p.CreateClientHash()).Returns((HashAlgorithm)null); _keyExchangeMock.Setup(p => p.CreateCompressor()).Returns((Compressor)null); _keyExchangeMock.Setup(p => p.CreateDecompressor()).Returns((Compressor)null); _keyExchangeMock.Setup(p => p.Dispose()); ServiceFactoryMock.Setup(p => p.CreateClientAuthentication()) .Callback(ClientAuthentication_Callback) .Returns(_clientAuthenticationMock.Object); _clientAuthenticationMock.Setup(p => p.Authenticate(ConnectionInfo, Session)); }
public void PriorityDoesntExist() { var priorities = new List <MappingInfo> { new MappingInfo("1", "Name 1"), new MappingInfo("2", "Name 2"), }; var existPriorities = new List <Item> { new Item("2", "Name 2"), new Item("3", "Name 3"), }; var validator = new JiraPriorityValidator(priorities) { JiraConnector = ConnectorMock, Logger = LoggerMock };; Expect.Call(ConnectorMock.Login); Expect.Call(ConnectorMock.GetPriorities()).Return(existPriorities); Expect.Call(ConnectorMock.Logout); Repository.ReplayAll(); var result = validator.Validate(); Repository.VerifyAll(); Assert.IsFalse(result, "Incorrect processing priorities."); }
private void FullUpdateJiraIssue(string externalId, string fieldName, string fieldValue, List <string> messages, string workflowId, string assignee) { Expect.Call(ConnectorMock.Login); Expect.Call(ConnectorMock.UpdateIssue(externalId, fieldName, fieldValue)).Return(null); Expect.Call(() => ConnectorMock.AddComment(externalId, messages[0])).Repeat.Once(); Expect.Call(ConnectorMock.GetAvailableActions(externalId)).Return(new List <Item> { new Item(workflowId, "Name") }); Expect.Call(() => ConnectorMock.ProgressWorkflow(externalId, workflowId, assignee)); Expect.Call(ConnectorMock.Logout); }
public void InsufficientPermissions() { var validator = new JiraCustomFieldValidator("ID_001") { JiraConnector = ConnectorMock, Logger = LoggerMock };; Expect.Call(ConnectorMock.Login); Expect.Call(ConnectorMock.GetCustomFields()).Throw(new JiraPermissionException(null, null)); Expect.Call(ConnectorMock.Logout); Repository.ReplayAll(); Assert.IsFalse(validator.Validate()); Repository.VerifyAll(); }
public void GenericFailure() { var validator = new JiraCustomFieldValidator("ID_001") { JiraConnector = ConnectorMock, Logger = LoggerMock };; Expect.Call(ConnectorMock.Login); Expect.Call(ConnectorMock.GetCustomFields()).Throw(new WebException(string.Empty, WebExceptionStatus.RequestProhibitedByProxy)); Expect.Call(ConnectorMock.Logout); Repository.ReplayAll(); Assert.IsFalse(validator.Validate()); Repository.VerifyAll(); }
public void NoCustomFields() { var validator = new JiraCustomFieldValidator("ID_001", "ID_002") { JiraConnector = ConnectorMock, Logger = LoggerMock };; var existingFields = new List <Item>(); Expect.Call(ConnectorMock.Login); Expect.Call(ConnectorMock.GetCustomFields()).Return(existingFields); Expect.Call(ConnectorMock.Logout); Repository.ReplayAll(); Assert.IsFalse(validator.Validate()); Repository.VerifyAll(); }
public void OnWorkitemStateChangedWithoutWorkflowProgress() { const string workitemId = "D-00001"; var workitemResult = new WorkitemStateChangeResult(ExternalId, workitemId); workitemResult.Messages.Add("message 1"); Expect.Call(ConnectorMock.Login); Expect.Call(ConnectorMock.UpdateIssue(ExternalId, config.OnStateChangeFieldName, config.OnStateChangeFieldValue)).Return(null); Expect.Call(() => ConnectorMock.AddComment(ExternalId, workitemResult.Messages[0])).Repeat.Once(); Expect.Call(ConnectorMock.GetAvailableActions(ExternalId)).Return(new List <Item>()); Expect.Call(ConnectorMock.Logout); Repository.ReplayAll(); reader.OnWorkitemStateChanged(workitemResult); Repository.VerifyAll(); }
public void FilterIsNull() { var validator = new JiraFilterValidator(null) { JiraConnector = ConnectorMock, Logger = LoggerMock };; Expect.Call(ConnectorMock.Login).Repeat.Never(); Expect.Call(ConnectorMock.GetIssuesFromFilter(null)).IgnoreArguments().Repeat.Never(); Repository.ReplayAll(); var result = validator.Validate(); Repository.VerifyAll(); Assert.IsFalse(result, "Incorrect filter processing"); }
public void EmptyField() { var validator = new JiraCustomFieldValidator("ID_001", string.Empty) { JiraConnector = ConnectorMock, Logger = LoggerMock };; var existingFields = new List <Item> { new Item("ID_001", "field1") }; Expect.Call(ConnectorMock.Login); Expect.Call(ConnectorMock.GetCustomFields()).Return(existingFields); Expect.Call(ConnectorMock.Logout); Repository.ReplayAll(); Assert.IsTrue(validator.Validate()); Repository.VerifyAll(); }
public void FilterDoesNotExist() { const string filterId = "1"; var filter = new JiraFilter(filterId, true); var validator = new JiraFilterValidator(filter) { JiraConnector = ConnectorMock, Logger = LoggerMock };; Expect.Call(ConnectorMock.Login); Expect.Call(ConnectorMock.GetIssuesFromFilter(filterId)).Throw(new Exception()); Repository.ReplayAll(); var result = validator.Validate(); Repository.VerifyAll(); Assert.IsFalse(result, "Incorrect filter processing"); }
public void FilterExists() { const string filterId = "1"; var filter = new JiraFilter(filterId, true); var validator = new JiraFilterValidator(filter) { JiraConnector = ConnectorMock, Logger = LoggerMock };; Expect.Call(ConnectorMock.Login); Expect.Call(ConnectorMock.GetIssuesFromFilter(filterId)).Return(null); Expect.Call(ConnectorMock.Logout); Repository.ReplayAll(); var result = validator.Validate(); Repository.VerifyAll(); Assert.IsTrue(result, "Incorrect filter processing"); }
public void OnWorkitemCreatedInsufficientPermissions() { var workitem = new Story("Title", "description", "project", "owners"); var workitemResult = new WorkitemCreationResult(workitem) { Source = { ExternalId = ExternalId, }, Permalink = "link", }; workitemResult.Messages.Add("external id"); Expect.Call(ConnectorMock.Login); Expect.Call(ConnectorMock.UpdateIssue(ExternalId, config.OnCreateFieldName, config.OnCreateFieldValue)).Throw(new JiraException("Can't update issue", new Exception())); Expect.Call(ConnectorMock.Logout); UpdateWorkitemLinkInJira(workitemResult); Repository.ReplayAll(); reader.OnWorkitemCreated(workitemResult); Repository.VerifyAll(); }
public void GetIssues() { const string filterId = "FilterId"; var remoteIssues = new[] { new Issue { Key = "Id1", Summary = "Name1" }, new Issue { Key = "Id2", Summary = "Name2" } }; Expect.Call(ConnectorMock.Login); Expect.Call(ConnectorMock.GetIssuesFromFilter(filterId)).Return(remoteIssues); Expect.Call(ConnectorMock.Logout); Repository.ReplayAll(); var items = jiraComponent.GetIssues <Defect>(filterId); Repository.VerifyAll(); Assert.AreEqual(remoteIssues.Length, items.Count); //foreach(var issue in remoteIssues) { // ListAssert.Contains(issue.Key, items.Select(x => x.ExternalId)); // ListAssert.Contains(issue.Summary, items.Select(x => x.Title)); //} }
public void ConnectorOnConnectorShouldHaveBeenInvokedOnce() { ConnectorMock.Verify(p => p.Connect(ConnectionInfo), Times.Once()); }
private void UpdateWorkitemLinkInJira(WorkitemCreationResult workitemResult) { Expect.Call(ConnectorMock.Login); Expect.Call(ConnectorMock.UpdateIssue(workitemResult.Source.ExternalId, config.WorkitemLinkField, workitemResult.Permalink)).Return(null); Expect.Call(ConnectorMock.Logout); }