Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
 }
Esempio n. 4
0
        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();
        }
Esempio n. 5
0
        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();
        }
Esempio n. 6
0
        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();
        }
Esempio n. 8
0
        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");
        }
Esempio n. 9
0
        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();
        }
Esempio n. 10
0
        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");
        }
Esempio n. 11
0
        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));
            //}
        }
Esempio n. 14
0
 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);
 }