A Twitch.tv viewer reward and games system.
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.

55 lines
1.5 KiB

12 years ago
  1. var common = exports;
  2. var path = require('path');
  3. var _ = require('underscore');
  4. var FakeServer = require('./FakeServer');
  5. common.lib = path.join(__dirname, '../lib');
  6. common.fixtures = path.join(__dirname, 'fixtures');
  7. // Useful for triggering ECONNREFUSED errors on connect()
  8. common.bogusPort = 47378;
  9. // Useful for triggering ER_ACCESS_DENIED_ERROR errors on connect()
  10. common.bogusPassword = 'INVALID PASSWORD';
  11. // Used for simulating a fake mysql server
  12. common.fakeServerPort = 32893;
  13. // Used for simulating a fake mysql server
  14. common.fakeServerSocket = __dirname + '/fake_server.sock';
  15. common.testDatabase = process.env.MYSQL_DATABASE;
  16. var Mysql = require('../');
  17. common.isTravis = function() {
  18. return Boolean(process.env.CI);
  19. };
  20. common.createConnection = function(config) {
  21. if (common.isTravis()) {
  22. // see: http://about.travis-ci.org/docs/user/database-setup/
  23. config = _.extend({
  24. user: 'root'
  25. }, config);
  26. } else {
  27. config = _.extend({
  28. host : process.env.MYSQL_HOST,
  29. port : process.env.MYSQL_PORT,
  30. user : process.env.MYSQL_USER,
  31. password : process.env.MYSQL_PASSWORD
  32. }, config);
  33. }
  34. return Mysql.createConnection(config);
  35. };
  36. common.createFakeServer = function(options) {
  37. return new FakeServer(_.extend({}, options));
  38. };
  39. common.useTestDb = function(connection) {
  40. var query = connection.query('CREATE DATABASE ' + common.testDatabase, function(err) {
  41. if (err && err.code !== 'ER_DB_CREATE_EXISTS') throw err;
  42. });
  43. connection.query('USE ' + common.testDatabase);
  44. }