mirror of
https://github.com/openstf/stf
synced 2025-10-04 10:19:30 +02:00
Add phone number and imei to device identity.
This commit is contained in:
parent
a891e5de49
commit
5183485a53
6 changed files with 47 additions and 1 deletions
|
@ -115,6 +115,7 @@ dbapi.saveDeviceIdentity = function(serial, identity) {
|
||||||
, sdk: identity.sdk
|
, sdk: identity.sdk
|
||||||
, display: identity.display
|
, display: identity.display
|
||||||
, browsers: identity.browsers
|
, browsers: identity.browsers
|
||||||
|
, phone: identity.phone
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,8 @@ module.exports = syrup.serial()
|
||||||
.dependency(require('../support/properties'))
|
.dependency(require('../support/properties'))
|
||||||
.dependency(require('./display'))
|
.dependency(require('./display'))
|
||||||
.dependency(require('./browsers'))
|
.dependency(require('./browsers'))
|
||||||
.define(function(options, properties, display, browsers) {
|
.dependency(require('./phone'))
|
||||||
|
.define(function(options, properties, display, browsers, phone) {
|
||||||
var log = logger.createLogger('device:plugins:identity')
|
var log = logger.createLogger('device:plugins:identity')
|
||||||
|
|
||||||
function solve() {
|
function solve() {
|
||||||
|
@ -15,6 +16,7 @@ module.exports = syrup.serial()
|
||||||
var identity = devutil.makeIdentity(options.serial, properties)
|
var identity = devutil.makeIdentity(options.serial, properties)
|
||||||
identity.display = display
|
identity.display = display
|
||||||
identity.browsers = browsers
|
identity.browsers = browsers
|
||||||
|
identity.phone = phone
|
||||||
return identity
|
return identity
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -303,6 +303,25 @@ module.exports = syrup.serial()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getProperties(properties) {
|
||||||
|
return runServiceCommand(
|
||||||
|
apk.serviceProto.RequestType.GET_PROPERTIES
|
||||||
|
, new apk.serviceProto.GetPropertiesRequest(properties)
|
||||||
|
)
|
||||||
|
.timeout(15000)
|
||||||
|
.then(function(data) {
|
||||||
|
var response = apk.serviceProto.GetPropertiesResponse.decode(data)
|
||||||
|
if (response.success) {
|
||||||
|
var mapped = Object.create(null)
|
||||||
|
response.properties.forEach(function(property) {
|
||||||
|
mapped[property.name] = property.value
|
||||||
|
})
|
||||||
|
return mapped
|
||||||
|
}
|
||||||
|
throw new Error('Unable to get properties')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
function runServiceCommand(type, cmd) {
|
function runServiceCommand(type, cmd) {
|
||||||
var resolver = Promise.defer()
|
var resolver = Promise.defer()
|
||||||
service.writer.write(new apk.serviceProto.RequestEnvelope(
|
service.writer.write(new apk.serviceProto.RequestEnvelope(
|
||||||
|
@ -372,6 +391,7 @@ module.exports = syrup.serial()
|
||||||
}
|
}
|
||||||
, copy: getClipboard
|
, copy: getClipboard
|
||||||
, getBrowsers: getBrowsers
|
, getBrowsers: getBrowsers
|
||||||
|
, getProperties: getProperties
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
16
lib/roles/device/plugins/phone.js
Normal file
16
lib/roles/device/plugins/phone.js
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
var syrup = require('syrup')
|
||||||
|
|
||||||
|
var logger = require('../../../util/logger')
|
||||||
|
|
||||||
|
module.exports = syrup.serial()
|
||||||
|
.dependency(require('./input'))
|
||||||
|
.define(function(options, input) {
|
||||||
|
var log = logger.createLogger('device:plugins:phone')
|
||||||
|
|
||||||
|
function fetch() {
|
||||||
|
log.info('Fetching phone info')
|
||||||
|
return input.getProperties(['imei', 'phoneNumber'])
|
||||||
|
}
|
||||||
|
|
||||||
|
return fetch()
|
||||||
|
})
|
|
@ -53,6 +53,7 @@ module.exports = syrup.serial()
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
, new wire.DevicePhoneMessage(identity.phone)
|
||||||
))
|
))
|
||||||
])
|
])
|
||||||
})
|
})
|
||||||
|
|
|
@ -139,6 +139,11 @@ message DeviceBrowsersMessage {
|
||||||
repeated DeviceBrowserAppMessage apps = 2;
|
repeated DeviceBrowserAppMessage apps = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message DevicePhoneMessage {
|
||||||
|
optional string imei = 1;
|
||||||
|
optional string phoneNumber = 2;
|
||||||
|
}
|
||||||
|
|
||||||
message DeviceIdentityMessage {
|
message DeviceIdentityMessage {
|
||||||
required string serial = 1;
|
required string serial = 1;
|
||||||
required string platform = 2;
|
required string platform = 2;
|
||||||
|
@ -150,6 +155,7 @@ message DeviceIdentityMessage {
|
||||||
required string sdk = 8;
|
required string sdk = 8;
|
||||||
required DeviceDisplayMessage display = 9;
|
required DeviceDisplayMessage display = 9;
|
||||||
required DeviceBrowsersMessage browsers = 10;
|
required DeviceBrowsersMessage browsers = 10;
|
||||||
|
required DevicePhoneMessage phone = 11;
|
||||||
}
|
}
|
||||||
|
|
||||||
message DeviceProperty {
|
message DeviceProperty {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue