(t *testing.T)
| 301 | } |
| 302 | |
| 303 | func TestAuthHandler_basicPasswordCheck_bcrypt(t *testing.T) { |
| 304 | ctrl := gomock.NewController(t) |
| 305 | defer ctrl.Finish() |
| 306 | |
| 307 | hash, err := HashPassword("pw") |
| 308 | require.NoError(t, err) |
| 309 | |
| 310 | executor := mockgen.NewMockQueryExecutor(ctrl) |
| 311 | sc := mockgen.NewMockScanner(ctrl) |
| 312 | cfg := testAuthConfig() |
| 313 | cfg.Encrypt = "bcrypt" |
| 314 | h := NewAuthHandler(executor, cfg) |
| 315 | |
| 316 | executor.EXPECT(). |
| 317 | Query(h.selectQueryByUsername(), "carol"). |
| 318 | Return(sc) |
| 319 | sc.EXPECT().Err().Return(nil) |
| 320 | sc.EXPECT().Scan(gomock.Any()).DoAndReturn(func(dest interface{}) (int, error) { |
| 321 | row := dest.(*loginRow) |
| 322 | *row = loginRow{ID: 3, Username: "carol", Password: hash} |
| 323 | return 1, nil |
| 324 | }) |
| 325 | |
| 326 | user, err := h.basicPasswordCheck("carol", "pw") |
| 327 | require.NoError(t, err) |
| 328 | require.Equal(t, "carol", user.Username) |
| 329 | } |
| 330 | |
| 331 | func TestAuthHandler_basicPasswordCheck_bcryptWrongPassword(t *testing.T) { |
| 332 | ctrl := gomock.NewController(t) |
nothing calls this directly
no test coverage detected