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 の試験をしている模様。