Files
Hoan Luu Huu a0797a3a4c encrypt client password and fix upgrade db script (#188)
* encrypt client password and fix upgrade db script

* encrypt client password and fix upgrade db script

* obfuscate client password
2023-06-15 20:46:22 -04:00

119 lines
3.4 KiB
JavaScript

const test = require('tape') ;
const ADMIN_TOKEN = '38700987-c7a4-4685-a5bb-af378f9734de';
const authAdmin = {bearer: ADMIN_TOKEN};
const request = require('request-promise-native').defaults({
baseUrl: 'http://127.0.0.1:3000/v1'
});
process.on('unhandledRejection', (reason, p) => {
console.log('Unhandled Rejection at: Promise', p, 'reason:', reason);
});
test('client test', async(t) => {
const app = require('../app');
try {
let result;
/* add a service provider */
result = await request.post('/ServiceProviders', {
resolveWithFullResponse: true,
auth: authAdmin,
json: true,
body: {
name: 'client_sp',
}
});
t.ok(result.statusCode === 201, 'successfully created client service provider');
const sp_sid = result.body.sid;
/* add an account */
result = await request.post('/Accounts', {
resolveWithFullResponse: true,
auth: authAdmin,
json: true,
body: {
name: 'sample_account',
service_provider_sid: sp_sid,
registration_hook: {
url: 'http://example.com/reg',
method: 'get'
},
webhook_secret: 'foobar'
}
});
t.ok(result.statusCode === 201, 'successfully created account');
const account_sid = result.body.sid;
/* add new entity */
result = await request.post('/Clients', {
resolveWithFullResponse: true,
auth: authAdmin,
json: true,
body: {
account_sid,
username: 'client1',
password: 'sdf12412',
is_active: 1
}
});
t.ok(result.statusCode === 201, 'successfully created Client');
const sid = result.body.sid;
/* query all entity */
result = await request.get('/Clients', {
auth: authAdmin,
json: true,
});
t.ok(result.length === 1 , 'successfully queried all Clients');
/* query one entity */
result = await request.get(`/Clients/${sid}`, {
auth: authAdmin,
json: true,
});
t.ok(result.account_sid === account_sid , 'successfully retrieved Client by sid');
t.ok(result.client_sid, 'successfully retrieved Client by sid');
t.ok(result.username === 'client1', 'successfully retrieved Client by sid');
t.ok(result.is_active === 1 , 'successfully retrieved Client by sid');
t.ok(result.password === 'sXXXXXXX' , 'successfully retrieved Client by sid');
/* update the entity */
result = await request.put(`/Clients/${sid}`, {
auth: authAdmin,
json: true,
resolveWithFullResponse: true,
body: {
is_active: 0
}
});
t.ok(result.statusCode === 204, 'successfully updated Client');
/* query one entity */
result = await request.get(`/Clients/${sid}`, {
auth: authAdmin,
json: true,
});
t.ok(result.is_active === 0 , 'successfully updated Client');
t.ok(result.password === 'sXXXXXXX' , 'successfully retrieved Client by sid');
/* delete Client */
result = await request.delete(`/Clients/${sid}`, {
resolveWithFullResponse: true,
simple: false,
json: true,
auth: authAdmin
});
t.ok(result.statusCode === 204, 'successfully deleted Clients');
/* query all entity */
result = await request.get('/Clients', {
auth: authAdmin,
json: true,
});
t.ok(result.length === 0 , 'successfully queried all Clients');
} catch (err) {
console.error(err);
t.end(err);
}
})