initial commit
This commit is contained in:
57
__tests__/auth.test.ts
Normal file
57
__tests__/auth.test.ts
Normal file
@@ -0,0 +1,57 @@
|
||||
import * as httpm from '../_out';
|
||||
import * as path from 'path';
|
||||
import * as am from '../_out/auth';
|
||||
|
||||
describe('auth', () => {
|
||||
beforeEach(() => {
|
||||
|
||||
})
|
||||
|
||||
afterEach(() => {
|
||||
|
||||
})
|
||||
|
||||
it('does basic http get request with basic auth', async() => {
|
||||
let bh: am.BasicCredentialHandler = new am.BasicCredentialHandler('johndoe', 'password');
|
||||
let http: httpm.HttpClient = new httpm.HttpClient('http-client-tests', [bh]);
|
||||
let res: httpm.HttpClientResponse = await http.get('http://httpbin.org/get');
|
||||
expect(res.message.statusCode).toBe(200);
|
||||
let body: string = await res.readBody();
|
||||
let obj:any = JSON.parse(body);
|
||||
let auth: string = obj.headers.Authorization;
|
||||
let creds: string = Buffer.from(auth.substring('Basic '.length), 'base64').toString();
|
||||
expect(creds).toBe('johndoe:password');
|
||||
expect(obj.url).toBe("https://httpbin.org/get");
|
||||
});
|
||||
|
||||
it('does basic http get request with pat token auth', async() => {
|
||||
let token: string = 'scbfb44vxzku5l4xgc3qfazn3lpk4awflfryc76esaiq7aypcbhs';
|
||||
let ph: am.PersonalAccessTokenCredentialHandler =
|
||||
new am.PersonalAccessTokenCredentialHandler(token);
|
||||
|
||||
let http: httpm.HttpClient = new httpm.HttpClient('http-client-tests', [ph]);
|
||||
let res: httpm.HttpClientResponse = await http.get('http://httpbin.org/get');
|
||||
expect(res.message.statusCode).toBe(200);
|
||||
let body: string = await res.readBody();
|
||||
let obj:any = JSON.parse(body);
|
||||
let auth: string = obj.headers.Authorization;
|
||||
let creds: string = Buffer.from(auth.substring('Basic '.length), 'base64').toString();
|
||||
expect(creds).toBe('PAT:' + token);
|
||||
expect(obj.url).toBe("https://httpbin.org/get");
|
||||
});
|
||||
|
||||
it('does basic http get request with pat token auth', async() => {
|
||||
let token: string = 'scbfb44vxzku5l4xgc3qfazn3lpk4awflfryc76esaiq7aypcbhs';
|
||||
let ph: am.BearerCredentialHandler =
|
||||
new am.BearerCredentialHandler(token);
|
||||
|
||||
let http: httpm.HttpClient = new httpm.HttpClient('http-client-tests', [ph]);
|
||||
let res: httpm.HttpClientResponse = await http.get('http://httpbin.org/get');
|
||||
expect(res.message.statusCode).toBe(200);
|
||||
let body: string = await res.readBody();
|
||||
let obj:any = JSON.parse(body);
|
||||
let auth: string = obj.headers.Authorization;
|
||||
expect(auth).toBe('Bearer ' + token);
|
||||
expect(obj.url).toBe("https://httpbin.org/get");
|
||||
});
|
||||
})
|
||||
Reference in New Issue
Block a user