public void Test_Detail_Issue_With_Custom_Properties_Deserialize() { var responseContent = ApiResponse.IssueDetail; //Arrange var restSharpDeserializer = new NewtonsoftJsonDeserializer(); var mockResponse = Substitute.For <IRestResponse>(); mockResponse.Content.Returns(responseContent); mockResponse.Headers.Returns(new List <Parameter> { new Parameter { Name = "Content-Type", Value = "application/json" } }); //Act dynamic issue = restSharpDeserializer.Deserialize <Issue>(mockResponse); //Assert Assert.AreEqual("YTM-1", issue.Id); Assert.AreEqual("Nexus People Sync from Active Directory", issue.Summary); Assert.AreEqual("YTM", issue.projectShortName); Assert.IsInstanceOf <IList>(issue.Subsystem); Assert.AreEqual(issue.Subsystem[0], "SSIS"); }
public void Test_Detail_Issue_With_Comments_Deserialize() { var responseContent = ApiResponse.DetailIssueWithComments; //Arrange var restSharpDeserializer = new NewtonsoftJsonDeserializer(); var mockResponse = Substitute.For <IRestResponse>(); mockResponse.Content.Returns(responseContent); mockResponse.Headers.Returns(new List <Parameter> { new Parameter { Name = "Content-Type", Value = "application/json" } }); //Act dynamic issue = restSharpDeserializer.Deserialize <Issue>(mockResponse); //Assert Assert.AreEqual("NAT-7", issue.Id); Assert.AreEqual(274, issue.Created.DayOfYear); Assert.AreEqual(10, issue.Updated.Month); Assert.AreEqual(14, issue.Updated.Day); }
private RestClient BuildClient(bool useAuth, Uri uri = null) { var currentTargetUri = uri ?? _credentialManager.CurrentTarget; var baseUrl = currentTargetUri.AbsoluteUri; if (null != _credentialManager.CurrentTargetIP) { baseUrl = String.Format("{0}://{1}", Uri.UriSchemeHttp, _credentialManager.CurrentTargetIP); RequestHostHeader = currentTargetUri.Host; } var deserializer = new NewtonsoftJsonDeserializer(); var rv = new RestClient { BaseUrl = baseUrl, FollowRedirects = false, }; rv.RemoveHandler(NewtonsoftJsonDeserializer.JsonContentType); rv.AddHandler(NewtonsoftJsonDeserializer.JsonContentType, deserializer); if (useAuth && _credentialManager.HasToken) { rv.AddDefaultHeader("AUTHORIZATION", _credentialManager.CurrentToken); } if (false == _proxyUserEmail.IsNullOrWhiteSpace()) { rv.AddDefaultHeader("PROXY-USER", _proxyUserEmail); } return(rv); }
public void Test_Project_Deserialize() { var responseContent = ApiResponse.Project; var restSharpDeserializer = new NewtonsoftJsonDeserializer(); var mockResponse = Substitute.For <IRestResponse>(); mockResponse.Content.Returns(responseContent); mockResponse.Headers.Returns(new List <Parameter> { new Parameter { Name = "Content-Type", Value = "application/json" } }); Project project = restSharpDeserializer.Deserialize <Project>(mockResponse); Assert.AreEqual("NexusAdminTest", project.Name); }
public void Test_List_Issue_With_Custom_Properties_Deserialize() { var responseContent = ApiResponse.IssueList; var restSharpDeserializer = new NewtonsoftJsonDeserializer(); var mockResponse = Substitute.For <IRestResponse>(); mockResponse.Content.Returns(responseContent); mockResponse.Headers.Returns(new List <Parameter> { new Parameter { Name = "Content-Type", Value = "application/json" } }); var issues = restSharpDeserializer.Deserialize <MultipleIssueWrapper>(mockResponse).Data; dynamic firstIssue = issues.First(); Assert.AreEqual("YTM-1", firstIssue.Id); Assert.AreEqual("YTM", firstIssue.projectShortName); Assert.IsInstanceOf <IList>(firstIssue.Subsystem); Assert.AreEqual(firstIssue.Subsystem[0], "SSIS"); }