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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }