signals-garasu-core

1.0.48 • Public • Published

Signal Garasu Core

Garasu core is build to simplify test on Signals.

  1. Load user credential and provide Singals API to request data
  2. Set up mocha+chai env, so you can focus on the test case
  3. Organize test cases under project folders.

Check out signals-garasu-cli for a quick start.

Test Case Example

/*
	Signals, assert, expect are automatically injected into global scope by garasu.
*/
let schema = {
		title: 'Signals Response Schema',
		type: 'object',
		required: [ 'replied','request','version','message', 'payload' ],
		properties: {
			replied: {
				type: 'array',
				minItems: 1,
				items: { type: 'number' }
			},
			request: { type: 'string' },
			message: { type: 'array' },
			version: { type: [ 'null', 'number' ] },
			payload: {
				$ref: "#definition/paging-item-payload"
			}
		},
		definitions: {
			'paging-item-payload': {
				type: 'object',
				required: [ 'items', 'total' ],
				properties: {
					total: { type: 'number' },
					items: {
						type: 'array',
						items: { $ref: "#definition/job-status" }
					}
				}
			},
			"job-status": {
				type: 'object',
				required: [ 'name', 'source', 'user', 'version', 'fid', 'current', 'status' ],
				properties: {
					name: { type: 'string' },
					user: { type: 'user' },
					version: { type: 'number' },
					fid: { type: 'string' },
					current: { type: 'boolean', pattern: '^true$' },
					status: {
						type: 'object',
						required: [ 'code', 'detail' ],
						properties: {
							code: {
								type: 'number',
								minimum: 40,
								maximum: 40
							},
							detail: { type: 'string' }
						}
					}
				}
			}
		}
	}

describe('/user/jobs', () => {
	describe('filters', () => {
		it('Should get a list of fninished jobs', (done) => {
			var filters = { "status.code": 40, current: 1 }
			Signals.APIGet('/user/jobs?filters='+
				encodeURIComponent(JSON.stringify(filters)),
				(error,json,response) => {
					assert.ifError(error, 'Error in the request');
					assert.jsonSchema(json, schema );
					// must be called for async test
					done();
				}
			);
		});
	});
});

Track Resources Created during Tests

Use Garaus.track( type, fid ) to track resouce created during test. The system will send delete call automatically even the test script break.

The type can be jobs / dashboards / taxonomies / sentimentlists / stopwordslists / tokenslists / stopdocslists. For other objects, use the url as the type.

The system sends delete calls to the address url/fid after all tests get done.

// how to track a job
Garasu.track( 'jobs', jobId );

Selenium Web Driver

Checkout oAuth test for detail

driver = Garasu.openBrowser();
driver.get(kFEHost+'/blank.html');

Readme

Keywords

none

Package Sidebar

Install

npm i signals-garasu-core

Weekly Downloads

0

Version

1.0.48

License

MIT

Last publish

Collaborators

  • slavikshen