1 |
|
2 | var Promise = require("bluebird")
|
3 | const Raptor = require("../index")
|
4 | const l = module.exports
|
5 |
|
6 | const config = require("./data/config.json")
|
7 |
|
8 |
|
9 | l.randomName = (prefix) => {
|
10 | prefix = prefix || ""
|
11 | const rnd = Math.round(Math.random() * Date.now())
|
12 | return `test_${prefix}_${rnd}`
|
13 | }
|
14 |
|
15 | l.getRaptor = (cfg) => {
|
16 | cfg = cfg || config
|
17 | const r = new Raptor(cfg)
|
18 | return r.Auth().login().then(() => Promise.resolve(r))
|
19 | }
|
20 |
|
21 | l.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 |
|
29 | l.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 |
|
39 | l.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 |
|
57 | l.createAdminInstance = () => {
|
58 | return l.createUserInstance(["admin"])
|
59 | }
|