blob: 7c6f9b5c8165c55f1c38e505ed388a61437977b8 [file] [log] [blame]
var util = require('util')
var uuid = require('node-uuid')
var _ = require('lodash')
var dbapi = require('../db/api')
var devices = require('stf-device-db/dist/devices-latest')
module.exports.generate = function(wantedModel) {
var serial = util.format(
'fake-%s'
, uuid.v4(null, new Buffer(16)).toString('base64')
)
return dbapi.saveDeviceInitialState(serial, {
provider: {
name: 'FAKE/1'
, channel: '*fake'
}
, status: 'OFFLINE'
})
.then(function() {
var model = wantedModel || _.sample(Object.keys(devices))
return dbapi.saveDeviceIdentity(serial, {
platform: 'Android'
, manufacturer: 'Foo Electronics'
, operator: 'Loss Networks'
, model: model
, version: '4.1.2'
, abi: 'armeabi-v7a'
, sdk: 8 + Math.floor(Math.random() * 12)
, display: {
density: 3
, fps: 60
, height: 1920
, id: 0
, rotation: 0
, secure: true
, url: '/404.jpg'
, width: 1080
, xdpi: 442
, ydpi: 439
}
, phone: {
iccid: '1234567890123456789'
, imei: '123456789012345'
, network: 'LTE'
, phoneNumber: '0000000000'
}
, product: model
})
})
.then(function() {
return dbapi.setDeviceAbsent(serial)
})
.return(serial)
}