kobold-core

0.9.4 • Public • Published

Kobold-Core

Core library for shared objects of the Kobold testing framework.

Build Status Coveralls Coverage Code Climate Grade

NPM version NPM License

NPM NPM

Coverage Report API Documentation

Gitter Support

Table of Contents

Installation

Install this module with the following command:

npm install kobold-core

Add the module to your package.json dependencies:

npm install --save kobold-core

Add the module to your package.json dev-dependencies:

npm install --save-dev kobold-core

Require the module in your source-code:

var core = require('kobold-core');

Usage

The module exposes 2 major components:

  • Storage Adapter
  • Connection Adapter

Storage Adapter

There are two storage adapter available:

  • FileStorageAdapter (file)
  • KeyValueStorageAdapter (KeyValue)

These adapters can be accessed through the storageAdapters property:

var FileStorageAdapter = core.storageAdapters.file;

A build function is available to create and configure a storage adapter:

var storageAdapter = core.buildStorageAdapter('build1', {
    type: '...'
});

An abstract storage adapter is exposed to implement additional plugins:

var StoragePlugin = core.StorageAdapter.extend({
    // Implementation
});

File Storage Adapter

This storage adapter uses the local filesystem to manage screens.

var fileStorageAdapter = core.buildStorageAdapter('build1', {
    type: 'File',
    options: {
        path: 'path/to/screens'
    }
});

Key-Value Storage Adapter

The Key-Value storage adapter manages screens on a key-value storage system.

var keyValueStorageAdapter = core.buildStorageAdapter('build1', {
    type: 'KeyValue',
    connection: connectionAdapter,
    options: {
        company: '<company-id>',
        department: '<department-id>',
        project: '<project-id>',
        job: '<job-id>'
    }
});

Connection Adapter

Currently, only one connection adapter is available:

  • RiakConnectionAdapter (Riak)

These adapters can be accessed through the connectionAdapters property:

var RiakConnectionAdapter = core.connectionAdapters.Riak;

A build function is available to create and configure a connection adapter:

var riakStorageAdapter = core.buildConnectionAdapter({
    type: 'Riak',
    options: {
        host: 'www.example.org'
    }
});

An abstract connection adapter is exposed to implement additional plugins:

var ConnectionPlugin = core.ConnectionAdapter.extend({
    // Implementation
});

Riak Connection Adapter

This adapter can be supplied to the Key-Value storage adapter to save the screens in a Riak grid.

var riakStorageAdapter = core.buildConnectionAdapter({
    type: 'Riak',
    options: {
        host: 'www.example.org'
    }
});
 
var keyValueStorageAdapter = core.buildStorageAdapter('build1', {
    type: 'KeyValue',
    connection: riakStorageAdapter,
    options: {
        company: '<company-id>',
        department: '<department-id>',
        project: '<project-id>',
        job: '<job-id>'
    }
});

API-Documentation

Generate the documentation with following command:

npm run docs

The documentation will be generated in the docs folder of the module root.

Tests

Run the tests with the following command:

npm run test

The code-coverage will be written to the coverage folder in the module root.

Third-party libraries

The following third-party libraries are used by this module:

Dependencies

Dev-Dependencies

License

The MIT License

Copyright 2014 Yahoo Inc.

Package Sidebar

Install

npm i kobold-core

Weekly Downloads

7

Version

0.9.4

License

MIT

Unpacked Size

67.5 kB

Total Files

23

Last publish

Collaborators

  • davglass
  • marcelerz