You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
1.8 KiB

var abstractServerTests = require("./abstract_server");
var createConnection = require("./helpers/createConnection");
var SECURE_KEY = __dirname + "/secure/tls-key.pem";
var SECURE_CERT = __dirname + "/secure/tls-cert.pem";
var moscaSettings = function() {
var port = nextPort();
var settings = {
stats: false,
logger: {
level: "error"
},
persistence: {
factory: mosca.persistence.Memory
},
secure: {
port: port,
keyPath: SECURE_KEY,
certPath: SECURE_CERT
}
};
// this is required to make the original server
// test work
// TODO refactor abstract test suite to take
// the port as a parameter
settings.port = port;
return settings;
};
describe("mosca.Server - Secure Connection", function() {
abstractServerTests(moscaSettings, require("./helpers/createSecureConnection"));
});
describe("mosca.Server - Secure and non-secure Connection", function() {
var settings;
var instance;
var conn;
afterEach(function(done) {
if (conn) {
conn.stream.end();
conn.on("close", function() {
instance.close(done);
});
} else {
instance.close(done);
}
});
it("should not allow non-secure connections", function(done) {
settings = moscaSettings();
settings.secure.port = nextPort();
instance = new mosca.Server(settings, function() {
conn = createConnection(settings.port);
conn.once("error", function(err) {
conn = null;
done();
});
});
});
it("should allow non-secure connections", function(done) {
settings = moscaSettings();
settings.allowNonSecure = true;
settings.secure.port = nextPort();
instance = new mosca.Server(settings, function() {
conn = createConnection(settings.port);
conn.on("connected", function(err) {
done();
});
});
});
});