Ich habe einen Service-Stack-Dienst, der den folgenden Code verwendetMock IAuthSession.GetOAuthTokens
public MyResponse Get(MyRequest request){
var authSession = GetSession();
var tokens = authSession.GetOAuthTokens("somekey");
var jwt = JwtPayload.Deserialize(tokens.AccessTokenSecret);
var clientId = jwt.Claims.First(x => x.Type == "client_id").Value;
//...
Ich bin ein Gerät zu testen, um diese Servicefunktion zu schaffen, aber es scheint, dass GetOAuthTokens eine statische Erweiterung Methode, die nicht verspottet werden kann von Moq (oder von irgendeinem Mocking-Framework für dieses Beispiel).
Dies ist meine aktuelle Testfunktion
[Test]
public void Get_ShouldReturnListOfApplications()
{
using (new BasicAppHost(typeof(ApplicationService).Assembly).Init())
{
var req = new MockHttpRequest();
req.Items[SessionFeature.RequestItemsSessionKey] =
new AuthUserSession
{
UserName = "Mocked",
RequestTokenSecret="test",
ProviderOAuthAccess = new System.Collections.Generic.List<IAuthTokens>() { MockTokens.Object }
};
using (var service = HostContext.ResolveService<ApplicationService>(req))
{
service.Client = MockServiceClient.Object;
service.Settings = MockSettingsProvider.Object;
var response = service.Get(TestApplicationRequest);
}
}
}
Gibt es trotzdem, die Ergebnisse dieser „GetOAuthTokens“ -Funktion zu verspotten?