public void TestRequestWithResponse(int httpMethod) { var parameters = new Dictionary<string, object> { { "p1", "2" } }; var method = (HttpMethod)httpMethod; var bytes = new byte[] { 1, 2, 3, 4 }; var scAccessToken = new SCAccessToken { AccessToken = "aToken" }; var expected = new EmptyClass(); using (mocks.Record()) { var uriBuilder = NewMock<IUriBuilder>(); uriBuilder.Expect(f => f.AddCredentials(scCredentials, scAccessToken)).Return(uriBuilder); uriBuilderFactory.Expect(f => f.Create(Domain.Api.GetParameterName() + "prefix/command.json")).Return(uriBuilder); webGateway.Expect(f => f.Request(uriBuilder, method, parameters, bytes, scAccessToken.AccessToken)).Return("response"); serializer.Expect(f => f.Deserialize<EmptyClass>("response")).Return(expected); } var soundCloudRawClient = new SoundCloudRawClient(scCredentials, uriBuilderFactory, webGateway, serializer) { AccessToken = scAccessToken }; var actual = soundCloudRawClient.Request<EmptyClass>("prefix", "command", method, parameters, bytes, "json", Domain.Api); Assert.AreEqual(expected, actual); }
public void TestRequestWithResponse(int httpMethod) { var parameters = new Dictionary <string, object> { { "p1", "2" } }; var method = (HttpMethod)httpMethod; var bytes = new byte[] { 1, 2, 3, 4 }; var scAccessToken = new SCAccessToken { AccessToken = "aToken" }; var expected = new EmptyClass(); using (mocks.Record()) { var uriBuilder = NewMock <IUriBuilder>(); uriBuilder.Expect(f => f.AddCredentials(scCredentials, scAccessToken)).Return(uriBuilder); uriBuilderFactory.Expect(f => f.Create(Domain.Api.GetParameterName() + "prefix/command.json")).Return(uriBuilder); webGateway.Expect(f => f.Request(uriBuilder, method, parameters, bytes, scAccessToken.AccessToken)).Return("response"); serializer.Expect(f => f.Deserialize <EmptyClass>("response")).Return(expected); } var soundCloudRawClient = new SoundCloudRawClient(scCredentials, uriBuilderFactory, webGateway, serializer) { AccessToken = scAccessToken }; var actual = soundCloudRawClient.Request <EmptyClass>("prefix", "command", method, parameters, bytes, "json", Domain.Api); Assert.AreEqual(expected, actual); }
public void TestRequestWithoutResponse() { var parameters = new Dictionary <string, object> { { "p1", "2" } }; const HttpMethod method = HttpMethod.Post; using (mocks.Record()) { var uriBuilder = NewMock <IUriBuilder>(); uriBuilder.Expect(f => f.AddCredentials(scCredentials, null)).Return(uriBuilder); uriBuilderFactory.Expect(f => f.Create(Domain.Api.GetParameterName() + "prefix/command")).Return(uriBuilder); webGateway.Expect(f => f.Request(uriBuilder, method, parameters, null, "")).Return("response"); } var soundCloudRawClient = new SoundCloudRawClient(scCredentials, uriBuilderFactory, webGateway, serializer) { AccessToken = null }; soundCloudRawClient.Request("prefix", "command", method, parameters, null, Domain.Api); }
public void TestBuildUri(string command, string responseType, string expectedFullCommandWithResponse) { var parameters = new Dictionary <string, object>(); var expectedUri = new Uri("http://fake.org"); using (mocks.Record()) { var uriBuilder = NewMock <IUriBuilder>(); uriBuilder.Expect(f => f.AddQueryParameters(parameters)).Return(uriBuilder); uriBuilder.Expect(f => f.AddCredentials(scCredentials, null)).Return(uriBuilder); uriBuilder.Expect(f => f.Build()).Return(expectedUri); uriBuilderFactory.Expect(f => f.Create(expectedFullCommandWithResponse)).Return(uriBuilder); } var soundCloudRawClient = new SoundCloudRawClient(scCredentials, uriBuilderFactory, webGateway, serializer) { AccessToken = null }; var uri = soundCloudRawClient.BuildUri(command, parameters, responseType, Domain.Direct); Assert.AreEqual(expectedUri, uri.AbsoluteUri); }
public void TestRequestWithoutResponse() { var parameters = new Dictionary<string, object> { { "p1", "2" } }; const HttpMethod method = HttpMethod.Post; using (mocks.Record()) { var uriBuilder = NewMock<IUriBuilder>(); uriBuilder.Expect(f => f.AddCredentials(scCredentials, null)).Return(uriBuilder); uriBuilderFactory.Expect(f => f.Create(Domain.Api.GetParameterName() + "prefix/command")).Return(uriBuilder); webGateway.Expect(f => f.Request(uriBuilder, method, parameters, null, "")).Return("response"); } var soundCloudRawClient = new SoundCloudRawClient(scCredentials, uriBuilderFactory, webGateway, serializer) { AccessToken = null }; soundCloudRawClient.Request("prefix", "command", method, parameters, null, Domain.Api); }
public void TestBuildUri(string command, string responseType, string expectedFullCommandWithResponse) { var parameters = new Dictionary<string, object>(); var expectedUri = new Uri("http://fake.org"); using (mocks.Record()) { var uriBuilder = NewMock<IUriBuilder>(); uriBuilder.Expect(f => f.AddQueryParameters(parameters)).Return(uriBuilder); uriBuilder.Expect(f => f.AddCredentials(scCredentials, null)).Return(uriBuilder); uriBuilder.Expect(f => f.Build()).Return(expectedUri); uriBuilderFactory.Expect(f => f.Create(expectedFullCommandWithResponse)).Return(uriBuilder); } var soundCloudRawClient = new SoundCloudRawClient(scCredentials, uriBuilderFactory, webGateway, serializer) { AccessToken = null }; var uri = soundCloudRawClient.BuildUri(command, parameters, responseType, Domain.Direct); Assert.AreEqual(expectedUri, uri.AbsoluteUri); }