blob: 9f86d4c2087f911d340bcba68d59a2887e1573c3 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// This just tests the interface. It does not test for specific results, only
// that callbacks are correctly invoked, expected parameters are correct,
// and failures are detected.
var callbackPass = chrome.test.callbackPass;
var kFailure = 'Failure';
var kGuid = 'SOME_GUID';
// Test properties for the verification API.
var verificationProperties = {
"certificate": "certificate",
"intermediateCertificates": ["ica1", "ica2", "ica3"],
"publicKey": "cHVibGljX2tleQ==", // Base64("public_key")
"nonce": "nonce",
"signedData": "c2lnbmVkX2RhdGE=", // Base64("signed_data")
"deviceSerial": "device_serial",
"deviceSsid": "Device 0123",
"deviceBssid": "00:01:02:03:04:05"
};
function callbackResult(result) {
if (chrome.runtime.lastError)
chrome.test.fail(chrome.runtime.lastError.message);
else if (result == false || result == kFailure)
chrome.test.fail('Failed: ' + result);
}
var availableTests = [
function getProperties() {
chrome.networkingPrivate.getProperties(
kGuid, callbackPass(callbackResult));
},
function getManagedProperties() {
chrome.networkingPrivate.getManagedProperties(
kGuid, callbackPass(callbackResult));
},
function getState() {
chrome.networkingPrivate.getState(
kGuid, callbackPass(callbackResult));
},
function setProperties() {
chrome.networkingPrivate.setProperties(
kGuid, { 'GUID': kGuid }, callbackPass(callbackResult));
},
function createNetwork() {
chrome.networkingPrivate.createNetwork(
false, { 'GUID': kGuid }, callbackPass(callbackResult));
},
function forgetNetwork() {
chrome.networkingPrivate.forgetNetwork(
kGuid, callbackPass(callbackResult));
},
function getNetworks() {
chrome.networkingPrivate.getNetworks(
{ networkType: 'Ethernet' }, callbackPass(callbackResult));
},
function getVisibleNetworks() {
chrome.networkingPrivate.getVisibleNetworks(
'Ethernet', callbackPass(callbackResult));
},
function getEnabledNetworkTypes() {
chrome.networkingPrivate.getEnabledNetworkTypes(
callbackPass(callbackResult));
},
function getDeviceStates() {
chrome.networkingPrivate.getDeviceStates(callbackPass(callbackResult));
},
function enableNetworkType() {
chrome.networkingPrivate.enableNetworkType('Ethernet');
chrome.test.succeed();
},
function disableNetworkType() {
chrome.networkingPrivate.disableNetworkType('Ethernet');
chrome.test.succeed();
},
function requestNetworkScan() {
chrome.networkingPrivate.requestNetworkScan();
chrome.networkingPrivate.requestNetworkScan('Cellular');
chrome.test.succeed();
},
function startConnect() {
chrome.networkingPrivate.startConnect(
kGuid, callbackPass(callbackResult));
},
function startDisconnect() {
chrome.networkingPrivate.startDisconnect(
kGuid, callbackPass(callbackResult));
},
function startActivate() {
chrome.networkingPrivate.startActivate(
kGuid, '' /* carrier */, callbackPass(callbackResult));
},
function verifyDestination() {
chrome.networkingPrivate.verifyDestination(
verificationProperties, callbackPass(callbackResult));
},
function verifyAndEncryptData() {
chrome.networkingPrivate.verifyAndEncryptData(
verificationProperties, 'data', callbackPass(callbackResult));
},
function getCaptivePortalStatus() {
chrome.networkingPrivate.getCaptivePortalStatus(
kGuid, callbackPass(callbackResult));
},
function unlockCellularSim() {
chrome.networkingPrivate.unlockCellularSim(
kGuid, '1111', callbackPass(callbackResult));
},
function setCellularSimState() {
var simState = { requirePin: true, currentPin: '1111', newPin: '1234' };
chrome.networkingPrivate.setCellularSimState(
kGuid, simState, callbackPass(callbackResult));
},
function selectCellularMobileNetwork() {
chrome.networkingPrivate.selectCellularMobileNetwork(
kGuid, 'fakeId', callbackPass(callbackResult));
},
function getGlobalPolicy() {
chrome.networkingPrivate.getGlobalPolicy(callbackPass(callbackResult));
}
];
var testToRun = window.location.search.substring(1);
chrome.test.runTests(availableTests.filter(function(op) {
return op.name == testToRun;
}));