mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-28 22:43:30 +03:00
9e7469e3ea
closes #2148 - Added core/server/xmlrpc.js - Hook into post::saved to ping when a published post gets saved - Added node package to hook into http requests
47 lines
1.5 KiB
JavaScript
47 lines
1.5 KiB
JavaScript
/*globals describe, beforeEach, afterEach, it*/
|
|
var assert = require('assert'),
|
|
http = require('http'),
|
|
nock = require('nock'),
|
|
settings = require('../../server/api').settings;
|
|
should = require('should'),
|
|
sinon = require('sinon'),
|
|
testUtils = require('../utils'),
|
|
when = require('when'),
|
|
xmlrpc = require('../../server/xmlrpc'),
|
|
// storing current environment
|
|
currentEnv = process.env.NODE_ENV;
|
|
|
|
describe('XMLRPC', function () {
|
|
var sandbox;
|
|
|
|
beforeEach(function () {
|
|
sandbox = sinon.sandbox.create();
|
|
// give environment a value that will ping
|
|
process.env.NODE_ENV = "production";
|
|
});
|
|
|
|
afterEach(function () {
|
|
sandbox.restore();
|
|
// reset the environment
|
|
process.env.NODE_ENV = currentEnv;
|
|
});
|
|
|
|
|
|
it('should execute two pings', function (done) {
|
|
var ping1 = nock('http://blogsearch.google.com').post('/ping/RPC2').reply(200),
|
|
ping2 = nock('http://rpc.pingomatic.com').post('/').reply(200),
|
|
testPost = testUtils.DataGenerator.Content.posts[2],
|
|
settingsStub = sandbox.stub(settings, 'read', function () {
|
|
return when({value: '/:slug/'});
|
|
});
|
|
|
|
xmlrpc.ping(testPost).then(function () {
|
|
ping1.isDone().should.be.true;
|
|
ping2.isDone().should.be.true;
|
|
|
|
done();
|
|
});
|
|
});
|
|
|
|
});
|