var assert = require("assert");
|
|
var client = require("../../lib/client");
|
|
var extend = require("extend");
|
|
var embed = require("../../lib/api/embed");
|
|
var sinon = require("sinon");
|
|
var querystring = require("querystring");
|
|
|
|
describe("api/embed", function(){
|
|
var stub_request;
|
|
beforeEach(function(){
|
|
// Setup `client.request` as a stub
|
|
stub_request = sinon.stub(client, "request");
|
|
});
|
|
afterEach(function(){
|
|
// Reset the original `client.request`
|
|
stub_request.restore();
|
|
stub_request = null;
|
|
});
|
|
describe("#create", function(){
|
|
it("should make a valid api call", function(){
|
|
var graphJSON = {
|
|
viz: "timeseries",
|
|
requests: [
|
|
{
|
|
q: "system.cpu.idle{*}"
|
|
}
|
|
]
|
|
};
|
|
var options = {
|
|
timeframe: "1_hour",
|
|
size: "large",
|
|
legend: "yes",
|
|
title: "test graph embed"
|
|
};
|
|
|
|
// Make our api call
|
|
embed.create(graphJSON, options);
|
|
|
|
// Assert we properly called `client.request`
|
|
assert(stub_request.calledOnce);
|
|
var call_args = stub_request.getCall(0).args;
|
|
// Method and endpoint are correct
|
|
assert.equal(call_args[0], "POST");
|
|
assert.equal(call_args[1], "/graph/embed");
|
|
|
|
// Properly formatted body and content-type
|
|
var params = call_args[2];
|
|
var expectedBody = {
|
|
graph_json: JSON.stringify(graphJSON),
|
|
timeframe: "1_hour",
|
|
size: "large",
|
|
legend: "yes",
|
|
title: "test graph embed"
|
|
};
|
|
assert.deepEqual(querystring.parse(params.body), expectedBody);
|
|
assert(params.contentType, "application/x-form-urlencoded");
|
|
});
|
|
|
|
it("should only require graph_json", function(){
|
|
var graphJSON = {
|
|
viz: "timeseries",
|
|
requests: [
|
|
{
|
|
q: "system.cpu.idle{*}"
|
|
}
|
|
]
|
|
};
|
|
|
|
// Make our api call
|
|
embed.create(graphJSON);
|
|
|
|
// Assert we properly called `client.request`
|
|
assert(stub_request.calledOnce);
|
|
var call_args = stub_request.getCall(0).args;
|
|
|
|
// Properly formatted body
|
|
var params = call_args[2];
|
|
var expectedBody = {
|
|
graph_json: JSON.stringify(graphJSON)
|
|
};
|
|
assert.deepEqual(querystring.parse(params.body), expectedBody);
|
|
});
|
|
});
|
|
});
|