UNPKG

1.63 kBJavaScriptView Raw
1
2var Promise = require("bluebird")
3const Raptor = require("../index")
4const l = module.exports
5
6const config = require("./data/config.json")
7
8
9l.randomName = (prefix) => {
10 prefix = prefix || ""
11 const rnd = Math.round(Math.random() * Date.now())
12 return `test_${prefix}_${rnd}`
13}
14
15l.getRaptor = (cfg) => {
16 cfg = cfg || config
17 const r = new Raptor(cfg)
18 return r.Auth().login().then(() => Promise.resolve(r))
19}
20
21l.createDevice = (raptor, dev) => {
22 dev = dev || require("./data/device.js")
23 const p = raptor ? Promise.resolve(raptor) : l.getRaptor()
24 return p.then((r1) => r1.Inventory().create(dev).then((device) => {
25 return Promise.resolve(device).bind(r1)
26 }))
27}
28
29l.newUser = (username) => {
30 username = username || l.randomName("user")
31 const u = new Raptor.models.User()
32 u.username = username
33 u.password = "passwd_" + u.username
34 u.email = u.username + "@test.raptor.local"
35 u.roles = ["user"]
36 return u
37}
38
39l.createUserInstance = (roles) => {
40 return l.getRaptor()
41 .then((r) => {
42 const u = l.newUser()
43 u.roles = roles ? roles : u.roles
44 return r.Admin().User().create(u)
45 .then(() => {
46 const r2 = new Raptor({
47 url: config.url,
48 username: u.username,
49 password: u.password,
50 })
51 return r2.Auth().login()
52 .then(() => Promise.resolve(r2))
53 })
54 })
55}
56
57l.createAdminInstance = () => {
58 return l.createUserInstance(["admin"])
59}