public void TestLoginWithoutMFA() { var serverresponse = new OAuthLoginRes { access_token = "somerandomaccesscode", backup_code = null, expires_in = 86400, mfa_code = "12345", refresh_token = "refreshtoken", token_type = "Bearer", scope = "internal" }; HttpClientFake.PostAsJsonAsyncCallback = (u, r) => { var msg = new System.Net.Http.HttpResponseMessage(System.Net.HttpStatusCode.OK); msg.Content = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(serverresponse), System.Text.Encoding.UTF8, "application/json"); return(Task.FromResult(msg)); }; var req = new OAuthLoginReq { }; var res = RohinHoodClient.Oauth2_Token_PostAsync(req).Result; Assert.IsNull(res.MFAResponse); Assert.IsNotNull(res.LoginResponse); Assert.AreEqual(res.LoginResponse.access_token, serverresponse.access_token); Assert.AreEqual(res.LoginResponse.backup_code, serverresponse.backup_code); Assert.AreEqual(res.LoginResponse.expires_in, serverresponse.expires_in); Assert.AreEqual(res.LoginResponse.mfa_code, serverresponse.mfa_code); Assert.AreEqual(res.LoginResponse.refresh_token, serverresponse.refresh_token); Assert.AreEqual(res.LoginResponse.scope, serverresponse.scope); Assert.AreEqual(res.LoginResponse.token_type, serverresponse.token_type); }
public void TestLoginBadRequest() { try { HttpClientFake.PostAsJsonAsyncCallback = (u, r) => { return(Task.FromResult(new System.Net.Http.HttpResponseMessage(System.Net.HttpStatusCode.BadRequest))); }; var req = new OAuthLoginReq { }; var res = RohinHoodClient.Oauth2_Token_PostAsync(req).Result; } catch (System.AggregateException e) { Assert.IsInstanceOfType(e.InnerException, typeof(System.Net.Http.HttpRequestException)); } }
public void TestLoginWithMFA() { var serverresponse = new OAuthLoginMFARes { mfa_required = true, mfa_type = MFATypes.sms }; HttpClientFake.PostAsJsonAsyncCallback = (u, r) => { var msg = new System.Net.Http.HttpResponseMessage(System.Net.HttpStatusCode.OK); msg.Content = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(serverresponse), System.Text.Encoding.UTF8, "application/json"); return(Task.FromResult(msg)); }; var req = new OAuthLoginReq { }; var res = RohinHoodClient.Oauth2_Token_PostAsync(req).Result; Assert.IsNull(res.LoginResponse); Assert.IsNotNull(res.MFAResponse); Assert.AreEqual(res.MFAResponse.mfa_required, serverresponse.mfa_required); Assert.AreEqual(res.MFAResponse.mfa_type, serverresponse.mfa_type); }