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 IUriBuilder AddCredentials(SCCredentials credentials, SCAccessToken accessToken) { if (credentials == null) return this; if (accessToken != null) { AddToken(accessToken.AccessToken); } return AddClientId(credentials.ClientId); }
internal SoundCloudClient(SCAccessToken accessToken, ISubresourceFactory subresourceFactory) { this.subresourceFactory = subresourceFactory; CurrentToken = accessToken; Users = subresourceFactory.CreateUsers(); Tracks = subresourceFactory.CreateTracks(); Me = subresourceFactory.CreateMe(); Groups = subresourceFactory.CreateGroups(); Resolve = subresourceFactory.CreateResolve(); OEmbed = subresourceFactory.CreateOEmbed(); }
public AccessToken Convert(SCAccessToken accessToken) { if (accessToken == null) { return null; } return new AccessToken { Token = accessToken.AccessToken, ExpiresIn = (int)accessToken.ExpiresIn.TotalSeconds, RefreshToken = accessToken.RefreshToken, Scope = accessToken.Scope.GetParameterName() }; }
public ISoundCloudClient Connect(SCAccessToken accessToken) { var credentials = new SCCredentials(); var soundCloudRawClient = soundCloudRawClientFactory.Create(credentials); soundCloudRawClient.AccessToken = accessToken; var soundCloudClient = soundCloudClientBuilder.Build(soundCloudRawClient); return soundCloudClient; }