[英]http post for auth in javascript using mocha test
我收到了使用Mocha用JS編寫的測試套件。 這是我嘗試上班的測試方法。 他們以表單編碼形式發送數據。 我的控制器接受主體形式的數據(下面的方法)我的模型包含相同的屬性。 如何重寫js方法以匹配我的控制器?
function loginUser (auth) {
return function (done) {
request('https://mysites/api/').post('login')
.set('Content-Type', 'application/x-www-form-urlencoded')
.set('emulateJSON', true)
.timeout({response: 30000, deadline: 30000})
.send({grant_type: 'password', Username: 'TheUserName', Password: 'Password'})
.end(function (err, response) {
assert.equal(response.status, 200)
console.log('Response: ', response.body)
auth.token = response.body.access_token
done()
})
};
}
[AllowAnonymous]
[HttpPost]
public IActionResult Post([FromBody]LoginDto loginViewModel)
{
if (ModelState.IsValid)
{
//This method returns user id from username and password.
var attemptedUser = GetUserInfoFromLoginViewModel(loginViewModel);
if (attemptedUser.Username == null)
{
return BadRequest("invalid_grant, The user name or password is incorrect.");
}
如果有人想知道答案是添加
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'
到tests.specs.js文件的頂部。 這是一個自簽名證書問題。 我在另一個問題中找到了答案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.