all files / DEV/lib/helpers/ detectSeleniumBackend.js

100% Statements 11/11
62.5% Branches 5/8
100% Functions 1/1
100% Lines 2/2
5 statements, 3 branches Ignored     
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55                                                                                                           
/**
 * helper to detect the Selenium backend according to given capabilities
 */
'use strict';
 
Object.defineProperty(exports, '__esModule', {
    value: true
});
var detectSeleniumBackend = function detectSeleniumBackend(capabilities) {
    /**
     * local Selenium server
     */
    if (!capabilities.user || !capabilities.key) {
        return {
            host: '127.0.0.1',
            port: 4444
        };
    }
 
    /**
     * browserstack
     * e.g. zHcv9sZ39ip8ZPsxBVJ2
     */
    if (capabilities.key.length === 20) {
        return {
            host: 'hub.browserstack.com',
            port: 80
        };
    }
 
    /**
     * testingbot
     * e.g. ec337d7b677720a4dde7bd72be0bfc67
     */
    if (capabilities.key.length === 32) {
        return {
            host: 'hub.testingbot.com',
            port: 80
        };
    }
 
    /**
     * Sauce Labs
     * e.g. 50aa152c-1932-B2f0-9707-18z46q2n1mb0
     */
    return {
        host: 'ondemand.saucelabs.com',
        port: 80,
        updateJob: true
    };
};
 
exports['default'] = detectSeleniumBackend;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvaGVscGVycy9kZXRlY3RTZWxlbml1bUJhY2tlbmQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxJQUFJLHFCQUFxQixHQUFHLFNBQXhCLHFCQUFxQixDQUFhLFlBQVksRUFBRTs7OztBQUloRCxRQUFJLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7QUFDekMsZUFBTztBQUNILGdCQUFJLEVBQUUsV0FBVztBQUNqQixnQkFBSSxFQUFFLElBQUk7U0FDYixDQUFBO0tBQ0o7Ozs7OztBQU1ELFFBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFO0FBQ2hDLGVBQU87QUFDSCxnQkFBSSxFQUFFLHNCQUFzQjtBQUM1QixnQkFBSSxFQUFFLEVBQUU7U0FDWCxDQUFBO0tBQ0o7Ozs7OztBQU1ELFFBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFO0FBQ2hDLGVBQU87QUFDSCxnQkFBSSxFQUFFLG9CQUFvQjtBQUMxQixnQkFBSSxFQUFFLEVBQUU7U0FDWCxDQUFBO0tBQ0o7Ozs7OztBQU1ELFdBQU87QUFDSCxZQUFJLEVBQUUsd0JBQXdCO0FBQzlCLFlBQUksRUFBRSxFQUFFO0FBQ1IsaUJBQVMsRUFBRSxJQUFJO0tBQ2xCLENBQUE7Q0FDSixDQUFBOztxQkFFYyxxQkFBcUIiLCJmaWxlIjoiL1VzZXJzL2NocmlzdGlhbmJyb21hbm4vU2l0ZXMvV2VicHJvamVrdGUvd2ViZHJpdmVyanMvREVWL2xpYi9oZWxwZXJzL2RldGVjdFNlbGVuaXVtQmFja2VuZC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogaGVscGVyIHRvIGRldGVjdCB0aGUgU2VsZW5pdW0gYmFja2VuZCBhY2NvcmRpbmcgdG8gZ2l2ZW4gY2FwYWJpbGl0aWVzXG4gKi9cbmxldCBkZXRlY3RTZWxlbml1bUJhY2tlbmQgPSBmdW5jdGlvbiAoY2FwYWJpbGl0aWVzKSB7XG4gICAgLyoqXG4gICAgICogbG9jYWwgU2VsZW5pdW0gc2VydmVyXG4gICAgICovXG4gICAgaWYgKCFjYXBhYmlsaXRpZXMudXNlciB8fCAhY2FwYWJpbGl0aWVzLmtleSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaG9zdDogJzEyNy4wLjAuMScsXG4gICAgICAgICAgICBwb3J0OiA0NDQ0XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBicm93c2Vyc3RhY2tcbiAgICAgKiBlLmcuIHpIY3Y5c1ozOWlwOFpQc3hCVkoyXG4gICAgICovXG4gICAgaWYgKGNhcGFiaWxpdGllcy5rZXkubGVuZ3RoID09PSAyMCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaG9zdDogJ2h1Yi5icm93c2Vyc3RhY2suY29tJyxcbiAgICAgICAgICAgIHBvcnQ6IDgwXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB0ZXN0aW5nYm90XG4gICAgICogZS5nLiBlYzMzN2Q3YjY3NzcyMGE0ZGRlN2JkNzJiZTBiZmM2N1xuICAgICAqL1xuICAgIGlmIChjYXBhYmlsaXRpZXMua2V5Lmxlbmd0aCA9PT0gMzIpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhvc3Q6ICdodWIudGVzdGluZ2JvdC5jb20nLFxuICAgICAgICAgICAgcG9ydDogODBcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNhdWNlIExhYnNcbiAgICAgKiBlLmcuIDUwYWExNTJjLTE5MzItQjJmMC05NzA3LTE4ejQ2cTJuMW1iMFxuICAgICAqL1xuICAgIHJldHVybiB7XG4gICAgICAgIGhvc3Q6ICdvbmRlbWFuZC5zYXVjZWxhYnMuY29tJyxcbiAgICAgICAgcG9ydDogODAsXG4gICAgICAgIHVwZGF0ZUpvYjogdHJ1ZVxuICAgIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgZGV0ZWN0U2VsZW5pdW1CYWNrZW5kXG4iXX0=