all files / DEV/lib/protocol/ getNetworkConnection.js

90.91% Statements 10/11
50% Branches 4/8
33.33% Functions 1/3
66.67% Lines 2/3
2 statements, 1 branch 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 56 57 58 59 60 61 62 63 64                                                                                                                             
/**
 *
 * Get informations about the current network connection (Data/WIFI/Airplane). The actual
 * server value will be a number (see `getNetworkConnection.js` example). However WebdriverIO
 * additional properties to the response object to allow easier assertions (see
 * `getNetworkConnectionEasier.js` example).
 *
 * <example>
    :getNetworkConnection.js
    client.getNetworkConnection().then(function(connection) {
        console.log(connection.value);
        // if 0: airplane mode off, wifi off, data off
        // if 1: airplane mode on, wifi off, data off
        // if 2: airplane mode off, wifi on, data off
        // if 4: airplane mode off, wifi off, data on
        // if 6: airplane mode off, wifi on, data on
    })
 
    :getNetworkConnectionEasier.js
    client.getNetworkConnection().then(function(connection) {
        console.log(connection.value); // returns 6
        console.log(connection.inAirplaneMode); // returns false
        console.log(connection.hasWifi); // returns true
        console.log(connection.hasData); // returns true
    })
 * </example>
 *
 * @type mobile
 * @see https://github.com/appium/appium-android-driver/blob/master/lib/commands/network.js#L8-L22
 * @for android
 *
 */
 
'use strict';
 
Object.defineProperty(exports, '__esModule', {
    value: true
});
// istanbul ignore next

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
 
var _deepmerge = require('deepmerge');
 
var _deepmerge2 = _interopRequireDefault(_deepmerge);
 
var getNetworkConnection = function getNetworkConnection() {
    return this.requestHandler.create({
        path: '/session/:sessionId/network_connection',
        method: 'GET'
    }).then(function (result) {
        result = (0, _deepmerge2['default'])(result, {
            inAirplaneMode: result.value === 1,
            hasWifi: result.value === 2 || result.value === 6,
            hasData: result.value === 4 || result.value === 6
        });
 
        return result;
    });
};
 
exports['default'] = getNetworkConnection;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvcHJvdG9jb2wvZ2V0TmV0d29ya0Nvbm5lY3Rpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3lCQWlDa0IsV0FBVzs7OztBQUU3QixJQUFJLG9CQUFvQixHQUFHLFNBQXZCLG9CQUFvQixHQUFlO0FBQ25DLFdBQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7QUFDOUIsWUFBSSxFQUFFLHdDQUF3QztBQUM5QyxjQUFNLEVBQUUsS0FBSztLQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsTUFBTSxFQUFLO0FBQ2hCLGNBQU0sR0FBRyw0QkFBTSxNQUFNLEVBQUU7QUFDbkIsMEJBQWMsRUFBRSxNQUFNLENBQUMsS0FBSyxLQUFLLENBQUM7QUFDbEMsbUJBQU8sRUFBRSxNQUFNLENBQUMsS0FBSyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxLQUFLLENBQUM7QUFDakQsbUJBQU8sRUFBRSxNQUFNLENBQUMsS0FBSyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxLQUFLLENBQUM7U0FDcEQsQ0FBQyxDQUFBOztBQUVGLGVBQU8sTUFBTSxDQUFBO0tBQ2hCLENBQUMsQ0FBQTtDQUNMLENBQUE7O3FCQUVjLG9CQUFvQiIsImZpbGUiOiIvVXNlcnMvY2hyaXN0aWFuYnJvbWFubi9TaXRlcy9XZWJwcm9qZWt0ZS93ZWJkcml2ZXJqcy9ERVYvbGliL3Byb3RvY29sL2dldE5ldHdvcmtDb25uZWN0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKlxuICogR2V0IGluZm9ybWF0aW9ucyBhYm91dCB0aGUgY3VycmVudCBuZXR3b3JrIGNvbm5lY3Rpb24gKERhdGEvV0lGSS9BaXJwbGFuZSkuIFRoZSBhY3R1YWxcbiAqIHNlcnZlciB2YWx1ZSB3aWxsIGJlIGEgbnVtYmVyIChzZWUgYGdldE5ldHdvcmtDb25uZWN0aW9uLmpzYCBleGFtcGxlKS4gSG93ZXZlciBXZWJkcml2ZXJJT1xuICogYWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIHRoZSByZXNwb25zZSBvYmplY3QgdG8gYWxsb3cgZWFzaWVyIGFzc2VydGlvbnMgKHNlZVxuICogYGdldE5ldHdvcmtDb25uZWN0aW9uRWFzaWVyLmpzYCBleGFtcGxlKS5cbiAqXG4gKiA8ZXhhbXBsZT5cbiAgICA6Z2V0TmV0d29ya0Nvbm5lY3Rpb24uanNcbiAgICBjbGllbnQuZ2V0TmV0d29ya0Nvbm5lY3Rpb24oKS50aGVuKGZ1bmN0aW9uKGNvbm5lY3Rpb24pIHtcbiAgICAgICAgY29uc29sZS5sb2coY29ubmVjdGlvbi52YWx1ZSk7XG4gICAgICAgIC8vIGlmIDA6IGFpcnBsYW5lIG1vZGUgb2ZmLCB3aWZpIG9mZiwgZGF0YSBvZmZcbiAgICAgICAgLy8gaWYgMTogYWlycGxhbmUgbW9kZSBvbiwgd2lmaSBvZmYsIGRhdGEgb2ZmXG4gICAgICAgIC8vIGlmIDI6IGFpcnBsYW5lIG1vZGUgb2ZmLCB3aWZpIG9uLCBkYXRhIG9mZlxuICAgICAgICAvLyBpZiA0OiBhaXJwbGFuZSBtb2RlIG9mZiwgd2lmaSBvZmYsIGRhdGEgb25cbiAgICAgICAgLy8gaWYgNjogYWlycGxhbmUgbW9kZSBvZmYsIHdpZmkgb24sIGRhdGEgb25cbiAgICB9KVxuXG4gICAgOmdldE5ldHdvcmtDb25uZWN0aW9uRWFzaWVyLmpzXG4gICAgY2xpZW50LmdldE5ldHdvcmtDb25uZWN0aW9uKCkudGhlbihmdW5jdGlvbihjb25uZWN0aW9uKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGNvbm5lY3Rpb24udmFsdWUpOyAvLyByZXR1cm5zIDZcbiAgICAgICAgY29uc29sZS5sb2coY29ubmVjdGlvbi5pbkFpcnBsYW5lTW9kZSk7IC8vIHJldHVybnMgZmFsc2VcbiAgICAgICAgY29uc29sZS5sb2coY29ubmVjdGlvbi5oYXNXaWZpKTsgLy8gcmV0dXJucyB0cnVlXG4gICAgICAgIGNvbnNvbGUubG9nKGNvbm5lY3Rpb24uaGFzRGF0YSk7IC8vIHJldHVybnMgdHJ1ZVxuICAgIH0pXG4gKiA8L2V4YW1wbGU+XG4gKlxuICogQHR5cGUgbW9iaWxlXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hcHBpdW0vYXBwaXVtLWFuZHJvaWQtZHJpdmVyL2Jsb2IvbWFzdGVyL2xpYi9jb21tYW5kcy9uZXR3b3JrLmpzI0w4LUwyMlxuICogQGZvciBhbmRyb2lkXG4gKlxuICovXG5cbmltcG9ydCBtZXJnZSBmcm9tICdkZWVwbWVyZ2UnXG5cbmxldCBnZXROZXR3b3JrQ29ubmVjdGlvbiA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0SGFuZGxlci5jcmVhdGUoe1xuICAgICAgICBwYXRoOiAnL3Nlc3Npb24vOnNlc3Npb25JZC9uZXR3b3JrX2Nvbm5lY3Rpb24nLFxuICAgICAgICBtZXRob2Q6ICdHRVQnXG4gICAgfSkudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgIHJlc3VsdCA9IG1lcmdlKHJlc3VsdCwge1xuICAgICAgICAgICAgaW5BaXJwbGFuZU1vZGU6IHJlc3VsdC52YWx1ZSA9PT0gMSxcbiAgICAgICAgICAgIGhhc1dpZmk6IHJlc3VsdC52YWx1ZSA9PT0gMiB8fCByZXN1bHQudmFsdWUgPT09IDYsXG4gICAgICAgICAgICBoYXNEYXRhOiByZXN1bHQudmFsdWUgPT09IDQgfHwgcmVzdWx0LnZhbHVlID09PSA2XG4gICAgICAgIH0pXG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgIH0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IGdldE5ldHdvcmtDb25uZWN0aW9uXG4iXX0=