Skip to content

Commit

Permalink
add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
zhelvis committed Aug 9, 2021
1 parent e123448 commit 7085785
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,7 @@ const safebrowsing = (function () {
} catch (e) {
log.error('Error response from safebrowsing lookup server for {0}', host);
suspendSafebrowsing();
return;
}

if (response && response.status >= 500) {
Expand All @@ -279,7 +280,7 @@ const safebrowsing = (function () {
}

if (!response) {
log.error('Error request sent to safebrowsing lookup server.');
log.error('Can`t read responce from the server');
return;
}

Expand Down
47 changes: 47 additions & 0 deletions tests/src/background/filter/services/safebrowsing-filter.test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { utils } from '../../../../../Extension/src/background/utils/common';
import safebrowsing from '../../../../../Extension/src/background/filter/services/safebrowsing/safebrowsing.browsers';
import { backend } from '../../../../../Extension/src/background/filter/filters/service-client';
import { log } from '../../../../../Extension/src/common/log';

describe('safebrowsing', () => {
it('Calculate hash', () => {
Expand Down Expand Up @@ -89,4 +90,50 @@ describe('safebrowsing', () => {
expect(counter).toBe(2);
expect(hashesChecked.length).toBe(0);
});

it('Handle lookup server network errors', async () => {
const logSpy = jest.spyOn(log, 'error');

// request error handling

jest.spyOn(backend, 'lookupSafebrowsing').mockImplementation(() => {
// eslint-disable-next-line prefer-promise-reject-errors
return Promise.reject({
status: 500,
});
});

await safebrowsing.lookupUrl('https://example.org');

// eslint-disable-next-line max-len
expect(logSpy).toHaveBeenCalledWith(
'Error response from safebrowsing lookup server for {0}',
'example.org',
);

// 5xx status code

jest.spyOn(backend, 'lookupSafebrowsing').mockImplementation(() => {
return Promise.resolve({
status: 500,
});
});

await safebrowsing.lookupUrl('https://example.com');

expect(logSpy).toHaveBeenCalledWith(
'Error response status {0} received from safebrowsing lookup server.',
500,
);

// request resolve without response

jest.spyOn(backend, 'lookupSafebrowsing').mockImplementation(() => {
return Promise.resolve();
});

await safebrowsing.lookupUrl('https://npmjs.com');

expect(logSpy).toHaveBeenCalledWith('Can`t read responce from the server');
});
});

0 comments on commit 7085785

Please sign in to comment.