Wondering what’s next for npm?Check out our public roadmap! »

    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.

    Install

    npm i kobold-core

    DownloadsWeekly Downloads

    2

    Version

    0.9.4

    License

    MIT

    Unpacked Size

    67.5 kB

    Total Files

    23

    Last publish

    Collaborators

    • avatar
    • avatar