node-cloudstack に付いてる nodeunit 確認
試験の実行なんですが、git clone してきたら以下で良いのかな。
$ npm install $ node_modules/nodeunit/bin/nodeunit test/client-test.js
中身
以下に引用。
var client = require('../lib/cloudstackClient'); var args = (process.env.LIVE) ? require('./live/clientargs') : require('./nonlive/clientargs'); if (!process.env.LIVE) { var mocks = require('./nonlive/mocks'); (new mocks()).engage(); } var client = new client(args); exports['deployVirtualMachine'] = function(test) { client.deployVirtualMachine(211, 1, 1, {}, function(result) { result.emitter.on('success', function() { test.done(); }); result.emitter.on('fail', function() { test.fail(); test.done(); }); }); };
てっぺんの require でアプリのトップを読み込んでます。で、process.env.LIVE が偽を前提に確認入れていくと args には以下が格納されます。
var config = { "host": "Host", "account": "TestUser", "apiKey": "TestUserApiKey", "apiSecret": "TestUserApiSecret", "domainId": 1, "response": "json" };
で、nonlive/mocks が require されてその中で定義されてる engage 手続きが呼び出されます。モックの定義が楽そうに見えますね。引用は略します。後は CloudStackClient なオブジェクトを作って deployVirtualMachine の試験をしている模様。