Binboo.Jira.Integration.JiraHttp.JiraHttpProxy.CreateLink C# (CSharp) Method

CreateLink() public method

public CreateLink ( int issueId, string linkDesc, string issueKey, bool versobe ) : string
issueId int
linkDesc string
issueKey string
versobe bool
return string
        public string CreateLink(int issueId, string linkDesc, string issueKey, bool versobe)
        {
            var client = _clientFactory.Connect(_config.LinkUrl);
            client.Cookies = _cookies;

            client.Variables["linkDesc"] = linkDesc;
            client.Variables["linkKey"] = issueKey;
            client.Variables["comment"] = "";
            client.Variables["commentLevel"] = "";
            client.Variables["id"] = issueId.ToString();
            client.Variables["Link"] = "Link";

            client.Post();

            return ResponseFor(client.ResponseStream, versobe);
        }

Usage Example

Example #1
0
        public void TestLink()
        {
            const string issueKey = "TIL-001";
            const string linkDescription = "Tested With";
            const int issueId = 42;

            var loginHttpClient = new Mock<IHttpClient>();
            var linkHttpClient = new Mock<IHttpClient>();
            var clientFactory = new Mock<IHttpClientFactory>();

            clientFactory.Setup(factory => factory.Connect(LoginPage)).Returns(loginHttpClient.Object);

            var config = new Mock<IHttpInterfaceConfiguration>();
            config.Setup(cfg => cfg.LoginUrl).Returns(LoginPage);
            config.Setup(cfg => cfg.LinkUrl).Returns(LinkPage);

            HttpVariables loginVariables = new HttpVariables();
            loginHttpClient.Setup(client => client.Variables).Returns(loginVariables);
            loginHttpClient.Setup(client => client.Post()).Callback(delegate
            {
                Assert.AreEqual("john", loginVariables["os_username"]);
                Assert.AreEqual("doe", loginVariables["os_password"]);
            });

            loginHttpClient.Setup(client => client.ResponseStream).Returns(new MemoryStream());
            var jiraProxy = new JiraHttpProxy(clientFactory.Object, config.Object);
            jiraProxy.Login(UserName, Password);

            clientFactory.Setup(factory => factory.Connect(LinkPage)).Returns(linkHttpClient.Object);
            HttpVariables linkVariables = new HttpVariables();
            linkHttpClient.Setup(client => client.Variables).Returns(linkVariables);
            linkHttpClient.Setup(client => client.ResponseStream).Returns(new MemoryStream());

            linkHttpClient.Setup(client => client.Post()).Callback(delegate
            {
                Assert.AreEqual(linkDescription, linkVariables["linkDesc"]);
                Assert.AreEqual(issueKey, linkVariables["linkKey"]);
                Assert.AreEqual("", linkVariables["comment"]);
                Assert.AreEqual("", linkVariables["commentLevel"]);
                Assert.AreEqual(issueId.ToString(), linkVariables["id"]);
                Assert.AreEqual("", linkVariables[""]);
                Assert.AreEqual("Link", linkVariables["Link"]);
            });

            jiraProxy.CreateLink(issueId, linkDescription, issueKey, true);

            loginHttpClient.VerifyAll();
            linkHttpClient.VerifyAll();
        }