Files
kami-parse-server/spec/PushQueue.spec.js
Florent Vilmart 9de4b8b2a7 Refactors configuration management (#4271)
* Adds flow types / Configuration interfaces

* Lets call it options

* Use a single interface to generate the configurations

* Translates options to definitions only if comments are set

* improves logic

* Moves objects around

* Fixes issue affecting logging of circular objects

* fixes undefined env

* Moves all defaults to defaults

* Adds back CLI defaults

* Restored defaults in commander.js

* Merge provided defaults and platform defaults

* Addresses visual nits

* Improves Config.js code

* Adds ability to pass the default value in trailing comments

* Load platform defaults from the definitions file

* proper default values on various options

* Adds ParseServer.start and server.start(options) as quick startup methods

* Moves creating liveQueryServer http into ParseServer.js

* removes dead code

* Adds tests to guarantee we can start a LQ Server from main module

* Fixes incorrect code regading liveQuery init port

* Start a http server for LQ if port is specified

* ensure we dont fail if config.port is not set

* Specify port

* ignore other path skipped in tests

* Adds test for custom middleware setting

* Refactors new Config into Config.get

- Hides AppCache from ParseServer.js, use Config.put which validates

* Extracts controller creation into Controllers/index.js

- This makes the ParseServer init way simpler

* Move serverURL inference into ParseServer

* review nits
2017-10-23 08:43:05 -04:00

59 lines
1.7 KiB
JavaScript

import Config from "../src/Config";
import {PushQueue} from "../src/Push/PushQueue";
describe('PushQueue', () => {
describe('With a defined channel', () => {
it('should be propagated to the PushWorker and PushQueue', (done) => {
reconfigureServer({
push: {
queueOptions: {
disablePushWorker: false,
channel: 'my-specific-channel'
},
adapter: {
send() {
return Promise.resolve();
},
getValidPushTypes() {
return [];
}
}
}
})
.then(() => {
const config = Config.get(Parse.applicationId);
expect(config.pushWorker.channel).toEqual('my-specific-channel', 'pushWorker.channel');
expect(config.pushControllerQueue.channel).toEqual('my-specific-channel', 'pushWorker.channel');
})
.then(done, done.fail);
});
});
describe('Default channel', () => {
it('should be prefixed with the applicationId', (done) => {
reconfigureServer({
push: {
queueOptions: {
disablePushWorker: false
},
adapter: {
send() {
return Promise.resolve();
},
getValidPushTypes() {
return [];
}
}
}
})
.then(() => {
const config = Config.get(Parse.applicationId);
expect(PushQueue.defaultPushChannel()).toEqual('test-parse-server-push');
expect(config.pushWorker.channel).toEqual('test-parse-server-push');
expect(config.pushControllerQueue.channel).toEqual('test-parse-server-push');
})
.then(done, done.fail);
});
});
});