Bug #17319
closed
CommonService.get(uuid) should throw an exception when uuid is empty string
Added by Lucas Di Pentima almost 4 years ago.
Updated almost 4 years ago.
Release relationship:
Auto
Description
Currently if uuid
is "", the service layer does a request to the backend with an incorrect URL, for example: arvados/v1/container_requests/
, ultimately getting a 404 response.
RailsAPI may accept trailing slashes on some endpoints, but as we're migrating those endpoint handlings to controller
, these kind of issues may start to creep up of different parts of the app.
- Assigned To set to Lucas Di Pentima
- Target version changed from 2021-02-17 sprint to 2021-03-03 sprint
- Status changed from New to In Progress
src\services\common-service\common-service.test.ts
const axiosInstance = axios.create();
// const axiosMock = new MockAdapter(axiosInstance);
const commonService = new CommonService(axiosInstance, "resource", actions);
please use mock and wrap this code in the beforeEach
commonService = new CommonService<any>(axiosInstance, "resource", actions);
axiosInstance = axios.create();
should be
axiosInstance = axios.create();
commonService = new CommonService<any>(axiosInstance, "resource", actions);
as on a first call axiosInstance is null, on the other hand are you sure that you want to use axios without mocking within the test file?
Updates at arvados-workbench2|0c04dddf
I've cleaned up the test code a little bit, the axios instance is created just to satisfy the CommonService
constructor, it's not being used on the test cases.
AFAICT, the axios mock would allow me to re-record test responses but in these test cases I'm not testing that, I'm just confirming that exceptions are being thrown when uuid==""
on some service calls.
Could you explain a little bit about your concerns? I'm not too experienced on TypeScript/Javascript testing. Thanks!
Update at arvados-workbench2|eb40293b
Don't use a real AxiosInstance
when not needed, to avoid potential issue with future test authors.
- % Done changed from 0 to 100
- Status changed from In Progress to Resolved
Also available in: Atom
PDF