samanage 1.8.8 → 1.8.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4cedeeea723b8028baf7e86f24cd0fdc19e92ab1
4
- data.tar.gz: e5c30e6130bed20c7ab1307af38fad03ecaad412
3
+ metadata.gz: 12aaeb776e072d9ce54b43f057110c940aa12be8
4
+ data.tar.gz: 6e825ba3089895f5552dc4fd5146d58fc8060602
5
5
  SHA512:
6
- metadata.gz: 80188be6d78b1eab07e99d5a076485fed80ddd2ba7c2cfc400817a0df3173d7ec45252e7fdb88f096e61f0abcc4e9ad5b64652fcefbaa15a7695b1483cd9a12f
7
- data.tar.gz: fda39d8acf665d196c624102ddb1aa50fdd6d01dcba93eb9e640a4a34894f4968d6a7186ea96e608f704cb6ecbec4d506199da70f09968391a80557e89777f3f
6
+ metadata.gz: cdf644e3b6496ff4a6b4eee7c75c189098f2d6f7bd673d49053f98f151e93d2a649abc70102380ce056de34b1866bd963f3136b168df78106771c417ee3c9323
7
+ data.tar.gz: 416eeccd82d3ba033211114872d5110fa74b72688b83aa93ba4e87eeb8b7d121082dc48e22499650b24700cfce0b28ac488d42e2afd7aee0fa80801395cc17a6
data/changelog.md CHANGED
@@ -1,3 +1,6 @@
1
+ # 1.8.9
2
+ - Adding output verbosity for collection methods
3
+
1
4
  # 1.8.8
2
5
  - Base level .execute delete functionality
3
6
  - Error message for invalid http methods
@@ -8,13 +8,13 @@ module Samanage
8
8
  end
9
9
 
10
10
  # Gets all custom fields
11
- def collect_custom_fields
11
+ def collect_custom_fields(options: {})
12
12
  page = 1
13
13
  custom_fields = Array.new
14
14
  total_pages = self.get_custom_fields[:total_pages] ||= 2
15
- while page <= total_pages
15
+ 1.upto(total_pages) do |page|
16
+ puts "Collecting Custom Fields page: #{page}/#{total_pages}" if options[:verbose]
16
17
  custom_fields += self.execute(path: "custom_fields.json")[:data]
17
- page += 1
18
18
  end
19
19
  custom_fields
20
20
  end
@@ -7,13 +7,13 @@ module Samanage
7
7
  end
8
8
 
9
9
  # Get all custom forms
10
- def collect_custom_forms
10
+ def collect_custom_forms(options: {})
11
11
  page = 1
12
12
  custom_forms = Array.new
13
13
  total_pages = self.get_custom_forms[:total_pages]
14
- while page <= total_pages
14
+ 1.upto(total_pages) do |page|
15
+ puts "Collecting Custom Forms page: #{page}/#{total_pages}" if options[:verbose]
15
16
  custom_forms += self.execute(http_method: 'get', path: "custom_forms.json?page=#{page}")[:data]
16
- page += 1
17
17
  end
18
18
  custom_forms
19
19
  end
@@ -5,11 +5,12 @@ module Samanage
5
5
  self.execute(path: url)
6
6
  end
7
7
 
8
- def collect_departments
8
+ def collect_departments(options: {})
9
9
  page = 1
10
10
  departments = Array.new
11
11
  total_pages = self.get_departments[:total_pages]
12
- while page <= total_pages
12
+ 1.upto(total_pages) do |page|
13
+ puts "Collecting Groups page: #{page}/#{total_pages}" if options[:verbose]
13
14
  departments += self.execute(http_method: 'get', path: "departments.json?page=#{page}")[:data]
14
15
  page += 1
15
16
  end
@@ -5,13 +5,13 @@ module Samanage
5
5
  self.execute(path: url)
6
6
  end
7
7
 
8
- def collect_groups
8
+ def collect_groups(options: {})
9
9
  page = 1
10
10
  groups = Array.new
11
11
  total_pages = self.get_groups[:total_pages]
12
- while page <= total_pages
12
+ 1.upto(total_pages) do |page|
13
+ puts "Collecting Groups page: #{page}/#{total_pages}" if options[:verbose]
13
14
  groups += self.execute(http_method: 'get', path: "groups.json?page=#{page}")[:data]
14
- page += 1
15
15
  end
16
16
  groups
17
17
  end
@@ -8,13 +8,13 @@ module Samanage
8
8
  end
9
9
 
10
10
  # Get all hardwares
11
- def collect_hardwares
11
+ def collect_hardwares(options: {})
12
12
  page = 1
13
13
  hardwares = Array.new
14
14
  total_pages = self.get_hardwares[:total_pages]
15
- while page <= total_pages
15
+ 1.upto(total_pages) do |page|
16
+ puts "Collecting Hardwares page: #{page}/#{total_pages}" if options[:verbose]
16
17
  hardwares += self.execute(http_method: 'get', path: "hardwares.json?page=#{page}")[:data]
17
- page += 1
18
18
  end
19
19
  hardwares
20
20
  end
@@ -15,7 +15,9 @@ module Samanage
15
15
  def collect_incidents(options: {})
16
16
  incidents = Array.new
17
17
  total_pages = self.get_incidents[:total_pages]
18
+ puts "Pulling Incidents with Audit Archives (this may take a while)" if options[:audit_archives] && options[:verbose]
18
19
  1.upto(total_pages) do |page|
20
+ puts "Collecting Incidents page: #{page}/#{total_pages}" if options[:verbose]
19
21
  if options[:audit_archives]
20
22
  archives = 'layout=long&audit_archive=true'
21
23
  paginated_incidents = self.execute(path: "incidents.json?page=#{page}")[:data]
@@ -8,13 +8,13 @@ module Samanage
8
8
  end
9
9
 
10
10
  # Get all mobiles
11
- def collect_mobiles
11
+ def collect_mobiles(options: {})
12
12
  page = 1
13
13
  mobiles = Array.new
14
14
  total_pages = self.get_mobiles[:total_pages]
15
- while page <= total_pages
15
+ 1.upto(total_pages) do |page|
16
+ puts "Collecting Mobiles page: #{page}/#{total_pages}" if options[:verbose]
16
17
  mobiles += self.execute(http_method: 'get', path: "mobiles.json?page=#{page}")[:data]
17
- page += 1
18
18
  end
19
19
  mobiles
20
20
  end
@@ -8,14 +8,14 @@ module Samanage
8
8
  end
9
9
 
10
10
  # Returns all other assets
11
- def collect_other_assets
11
+ def collect_other_assets(options: {})
12
12
  page = 1
13
13
  other_assets = Array.new
14
14
  total_pages = self.get_other_assets[:total_pages]
15
15
  other_assets = []
16
- while page <= total_pages
16
+ 1.upto(total_pages) do |page|
17
+ puts "Collecting Other Assets page: #{page}/#{total_pages}" if options[:verbose]
17
18
  other_assets += self.execute(http_method: 'get', path: "other_assets.json?page=#{page}")[:data]
18
- page += 1
19
19
  end
20
20
  other_assets.uniq
21
21
  end
@@ -5,13 +5,13 @@ module Samanage
5
5
  self.execute(path: url)
6
6
  end
7
7
 
8
- def collect_sites
8
+ def collect_sites(options: {})
9
9
  page = 1
10
10
  sites = Array.new
11
11
  total_pages = self.get_sites[:total_pages]
12
- while page <= total_pages
12
+ 1.upto(total_pages) do |page|
13
+ puts "Collecting Sites page: #{page}/#{total_pages}" if options[:verbose]
13
14
  sites += self.execute(http_method: 'get', path: "sites.json?page=#{page}")[:data]
14
- page += 1
15
15
  end
16
16
  sites
17
17
  end
@@ -8,13 +8,13 @@ module Samanage
8
8
  end
9
9
 
10
10
  # Returns all users in the account
11
- def collect_users
11
+ def collect_users(options: {})
12
12
  page = 1
13
13
  users = Array.new
14
14
  total_pages = self.get_users[:total_pages]
15
- while page <= total_pages
15
+ 1.upto(total_pages) do |page|
16
+ puts "Collecting Users page: #{page}/#{total_pages}" if options[:verbose]
16
17
  users += self.execute(http_method: 'get', path: "users.json?page=#{page}")[:data]
17
- page += 1
18
18
  end
19
19
  users
20
20
  end
@@ -1,3 +1,3 @@
1
1
  module Samanage
2
- VERSION = '1.8.8'
2
+ VERSION = '1.8.9'
3
3
  end
@@ -1,13 +1,13 @@
1
1
  require 'samanage'
2
2
  describe Samanage::Api do
3
3
  context 'category' do
4
- before(:each) do
4
+ before(:all) do
5
5
  TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
6
- @controller = Samanage::Api.new(token: TOKEN)
6
+ @samanage = Samanage::Api.new(token: TOKEN)
7
+ @categories = @samanage.categories
7
8
  end
8
9
  it 'collects all categories' do
9
- categories = @controller.collect_categories
10
- expect(categories).to be_an(Array)
10
+ expect(@categories).to be_an(Array)
11
11
  end
12
12
 
13
13
  it 'creates a category' do
@@ -19,7 +19,7 @@ describe Samanage::Api do
19
19
  description: category_description
20
20
  }
21
21
  }
22
- category_create = @controller.create_category(payload: payload)
22
+ category_create = @samanage.create_category(payload: payload)
23
23
 
24
24
  expect(category_create[:data]['id']).to be_an(Integer)
25
25
  expect(category_create[:data]['name']).to eq(category_name)
@@ -1,35 +1,35 @@
1
1
  require 'samanage'
2
2
  describe Samanage::Api do
3
3
  context 'Comments' do
4
- before(:each) do
4
+ before(:all) do
5
5
  TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
6
- @controller = Samanage::Api.new(token: TOKEN)
6
+ @samanage = Samanage::Api.new(token: TOKEN)
7
7
  end
8
8
  describe 'API Functions' do
9
9
  it 'gets comments' do
10
- incident_id = @controller.get_incidents()[:data].sample.dig('id')
11
- comments = @controller.get_comments(incident_id: incident_id)
10
+ incident_id = @samanage.get_incidents()[:data].sample.dig('id')
11
+ comments = @samanage.get_comments(incident_id: incident_id)
12
12
  expect(comments).to be_a(Hash)
13
13
  end
14
14
 
15
15
  it 'creates a comment' do
16
- incident_id = @controller.get_incidents()[:data].sample.dig('id')
16
+ incident_id = @samanage.get_incidents()[:data].sample.dig('id')
17
17
  rand_text = ('a'..'z').to_a.shuffle[0,8].join
18
18
  comment = {
19
19
  comment: {
20
20
  body: rand_text,
21
21
  }
22
22
  }
23
- api_call = @controller.create_comment(incident_id: incident_id, comment: comment)
23
+ api_call = @samanage.create_comment(incident_id: incident_id, comment: comment)
24
24
 
25
25
  expect(api_call.dig(:data,'body')).to eq(rand_text)
26
26
  end
27
27
 
28
28
  it 'collects all comments' do
29
- ## incident_id = @controller.get_incidents()[:data].sample.dig('id')
29
+ ## incident_id = @samanage.get_incidents()[:data].sample.dig('id')
30
30
  # incident_id = 19394209
31
- # comments_api = @controller.get_comments(incident_id: incident_id)
32
- # comments_found = @controller.collect_comments(incident_id: incident_id)
31
+ # comments_api = @samanage.get_comments(incident_id: incident_id)
32
+ # comments_found = @samanage.collect_comments(incident_id: incident_id)
33
33
 
34
34
  # Total count bug
35
35
  # expect(comments_api[:total_count]).to eq(comments_found.size)
@@ -3,13 +3,13 @@ require 'samanage'
3
3
  describe Samanage::Api do
4
4
  context 'Custom Field' do
5
5
  describe 'API Functions' do
6
- before(:each) do
6
+ before(:all) do
7
7
  TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
8
- @controller = Samanage::Api.new(token: TOKEN)
8
+ @samanage = Samanage::Api.new(token: TOKEN)
9
+ @custom_fields = @samanage.custom_fields
9
10
  end
10
11
  it 'collects all custom fields' do
11
- api_call = @controller.collect_custom_fields
12
- expect(api_call).to be_a(Array)
12
+ expect(@custom_fields).to be_a(Array)
13
13
  end
14
14
  end
15
15
  end
@@ -3,13 +3,13 @@ require 'samanage'
3
3
  describe Samanage::Api do
4
4
  context 'Custom Form' do
5
5
  describe 'API Functions' do
6
- before(:each) do
6
+ before(:all) do
7
7
  TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
8
8
  @controller = Samanage::Api.new(token: TOKEN, development_mode: true)
9
+ @custom_forms = @controller.collect_custom_forms
9
10
  end
10
11
  it 'collects all custom forms' do
11
- api_call = @controller.collect_custom_forms
12
- expect(api_call).to be_a(Array)
12
+ expect(@custom_forms).to be_a(Array)
13
13
  end
14
14
  it 'Organizes custom forms by module' do
15
15
  api_call = @controller.organize_forms
@@ -1,22 +1,22 @@
1
1
  require 'samanage'
2
2
  describe Samanage::Api do
3
3
  context 'department' do
4
- before(:each) do
4
+ before(:all) do
5
5
  TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
6
- @controller = Samanage::Api.new(token: TOKEN)
6
+ @samanage = Samanage::Api.new(token: TOKEN)
7
+ @departments = @samanage.departments
7
8
  end
8
- it 'get_users: it returns API call of users' do
9
- api_call = @controller.get_departments
9
+ it 'get_users: it returns API call of departments' do
10
+ api_call = @samanage.get_departments
10
11
  expect(api_call).to be_a(Hash)
11
12
  expect(api_call[:total_count]).to be_an(Integer)
12
13
  expect(api_call).to have_key(:response)
13
14
  expect(api_call).to have_key(:code)
14
15
  end
15
16
  it 'collects all departments' do
16
- departments = @controller.collect_departments
17
- department_count = @controller.get_departments[:total_count]
18
- expect(departments).to be_an(Array)
19
- expect(departments.size).to eq(department_count)
17
+ department_count = @samanage.get_departments[:total_count]
18
+ expect(@departments).to be_an(Array)
19
+ expect(@departments.size).to eq(department_count)
20
20
  end
21
21
  it 'creates a department' do
22
22
  department_name = "department ##{(rand*10**4).ceil}"
@@ -28,7 +28,7 @@ describe Samanage::Api do
28
28
  description: department_description
29
29
  }
30
30
  }
31
- department_create = @controller.create_department(payload: payload)
31
+ department_create = @samanage.create_department(payload: payload)
32
32
 
33
33
  expect(department_create[:data]['id']).to be_an(Integer)
34
34
  expect(department_create[:data]['name']).to eq(department_name)
@@ -1,27 +1,27 @@
1
1
  require 'samanage'
2
2
  describe Samanage::Api do
3
3
  context 'group' do
4
- before(:each) do
4
+ before(:all) do
5
5
  TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
6
- @controller = Samanage::Api.new(token: TOKEN)
6
+ @samanage = Samanage::Api.new(token: TOKEN)
7
+ @groups = @samanage.groups
8
+ @users = @samanage.users
7
9
  end
8
10
  it 'get_users: it returns API call of users' do
9
- api_call = @controller.get_groups
11
+ api_call = @samanage.get_groups
10
12
  expect(api_call).to be_a(Hash)
11
13
  expect(api_call[:total_count]).to be_an(Integer)
12
14
  expect(api_call).to have_key(:response)
13
15
  expect(api_call).to have_key(:code)
14
16
  end
15
17
  it 'collects all groups' do
16
- groups = @controller.collect_groups
17
- group_count = @controller.get_groups[:total_count]
18
- expect(groups).to be_an(Array)
19
- expect(groups.size).to eq(group_count)
18
+ group_count = @samanage.get_groups[:total_count]
19
+ expect(@groups).to be_an(Array)
20
+ expect(@groups.size).to eq(group_count)
20
21
  end
21
22
  it 'find_group: returns a group card by known id' do
22
- groups = @controller.collect_groups
23
- sample_id = groups.sample['id']
24
- group = @controller.find_group(id: sample_id)
23
+ sample_id = @groups.sample['id']
24
+ group = @samanage.find_group(id: sample_id)
25
25
  expect(group[:data]['id']).to eq(sample_id) # id should match found group
26
26
  expect(group[:data]).to have_key('name')
27
27
  end
@@ -34,7 +34,7 @@ describe Samanage::Api do
34
34
  description: group_description
35
35
  }
36
36
  }
37
- group_create = @controller.create_group(payload: payload)
37
+ group_create = @samanage.create_group(payload: payload)
38
38
 
39
39
  expect(group_create[:data]['id']).to be_an(Integer)
40
40
  expect(group_create[:data]['name']).to eq(group_name)
@@ -42,23 +42,23 @@ describe Samanage::Api do
42
42
  end
43
43
 
44
44
  it 'finds a group by name' do
45
- group = @controller.collect_groups.sample
45
+ group = @groups.sample
46
46
  group_name = group['name']
47
47
  group_id = group['id']
48
- found_group_id = @controller.find_group_id_by_name(group: group_name)
48
+ found_group_id = @samanage.find_group_id_by_name(group: group_name)
49
49
 
50
50
  expect(group_id).to eq(found_group_id)
51
51
  end
52
52
  it 'returns nil for finding invalid group by name' do
53
53
  group_name = "Invalid-#{rand(100)*100}"
54
- found_group_id = @controller.find_group_id_by_name(group: group_name)
54
+ found_group_id = @samanage.find_group_id_by_name(group: group_name)
55
55
  expect(found_group_id).to be(nil)
56
56
  end
57
57
  it 'adds member to group' do
58
- random_group_id = @controller.collect_groups.sample['id']
59
- random_user_email = @controller.collect_users.sample['email']
58
+ random_group_id = @groups.sample['id']
59
+ random_user_email = @users.sample['email']
60
60
 
61
- add_user_to_group = @controller.add_member_to_group(email: random_user_email, group_id: random_group_id)
61
+ add_user_to_group = @samanage.add_member_to_group(email: random_user_email, group_id: random_group_id)
62
62
  expect(add_user_to_group[:code]).to eq(200).or(201)
63
63
  end
64
64
  end
@@ -2,22 +2,23 @@ require 'samanage'
2
2
  describe Samanage::Api do
3
3
  context 'Hardware' do
4
4
  describe 'API Functions' do
5
- before(:each) do
5
+ before(:all) do
6
6
  TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
7
- @controller = Samanage::Api.new(token: TOKEN)
7
+ @samanage = Samanage::Api.new(token: TOKEN)
8
+ @hardwares = @samanage.hardwares
8
9
  end
9
10
  it 'get_hardwares: it returns API call of hardwares' do
10
- api_call = @controller.get_hardwares
11
+ api_call = @samanage.get_hardwares
11
12
  expect(api_call).to be_a(Hash)
12
13
  expect(api_call[:total_count]).to be_an(Integer)
13
14
  expect(api_call).to have_key(:response)
14
15
  expect(api_call).to have_key(:code)
15
16
  end
16
17
  it 'collect_hardwares: collects array of hardwares' do
17
- hardwares = @controller.collect_hardwares
18
- hardware_count = @controller.get_hardwares[:total_count]
19
- expect(hardwares).to be_an(Array)
20
- expect(hardwares.size).to eq(hardware_count)
18
+ hardware_count = @samanage.get_hardwares[:total_count]
19
+ @hardwares = @samanage.hardwares
20
+ expect(@hardwares).to be_an(Array)
21
+ expect(@hardwares.size).to eq(hardware_count)
21
22
  end
22
23
  it 'create_hardware(payload: payload): creates a hardware' do
23
24
  hardware_name = "samanage-ruby-#{(rand*10**10).ceil}"
@@ -28,7 +29,7 @@ describe Samanage::Api do
28
29
  :bio => {:ssn => serial_number},
29
30
  }
30
31
  }
31
- hardware_create = @controller.create_hardware(payload: payload)
32
+ hardware_create = @samanage.create_hardware(payload: payload)
32
33
 
33
34
  expect(hardware_create[:data]['id']).to be_an(Integer)
34
35
  expect(hardware_create[:data]['name']).to eq(hardware_name)
@@ -41,12 +42,11 @@ describe Samanage::Api do
41
42
  :name => hardware_name,
42
43
  }
43
44
  }
44
- expect{@controller.create_hardware(payload: payload)}.to raise_error(Samanage::InvalidRequest)
45
+ expect{@samanage.create_hardware(payload: payload)}.to raise_error(Samanage::InvalidRequest)
45
46
  end
46
47
  it 'find_hardware: returns a hardware card by known id' do
47
- hardwares = @controller.collect_hardwares
48
- sample_id = hardwares.sample['id']
49
- hardware = @controller.find_hardware(id: sample_id)
48
+ sample_id = @hardwares.sample['id']
49
+ hardware = @samanage.find_hardware(id: sample_id)
50
50
 
51
51
  expect(hardware[:data]['id']).to eq(sample_id) # id should match found hardware
52
52
  expect(hardware[:data]).to have_key('name')
@@ -55,15 +55,14 @@ describe Samanage::Api do
55
55
  end
56
56
  it 'find_hardware: returns nothing for an invalid id' do
57
57
  sample_id = (0..10).entries.sample
58
- expect{@controller.find_hardware(id: sample_id)}.to raise_error(Samanage::NotFound) # id should match found hardware
58
+ expect{@samanage.find_hardware(id: sample_id)}.to raise_error(Samanage::NotFound) # id should match found hardware
59
59
  end
60
60
 
61
61
  it 'finds_hardwares_by_serial' do
62
- hardwares = @controller.collect_hardwares
63
- sample_hardware = hardwares.sample
62
+ sample_hardware = @hardwares.sample
64
63
  sample_serial_number = sample_hardware['serial_number']
65
64
  sample_id = sample_hardware['id']
66
- found_assets = @controller.find_hardwares_by_serial(serial_number: sample_serial_number)
65
+ found_assets = @samanage.find_hardwares_by_serial(serial_number: sample_serial_number)
67
66
  found_sample = found_assets[:data].sample
68
67
  expect(sample_serial_number).not_to be(nil)
69
68
  expect(found_sample['serial_number']).not_to be(nil)
@@ -71,15 +70,14 @@ describe Samanage::Api do
71
70
  # expect(sample_id).to eq(found_assets[:data].first.dig('id'))
72
71
  end
73
72
  it 'update_hardware: update_hardware by id' do
74
- hardwares = @controller.collect_hardwares
75
- sample_id = hardwares.sample['id']
73
+ sample_id = @hardwares.sample['id']
76
74
  new_name = (0...50).map { ('a'..'z').to_a[rand(26)] }.join
77
75
  payload = {
78
76
  :hardware => {
79
77
  :name => new_name
80
78
  }
81
79
  }
82
- hardware_update = @controller.update_hardware(payload: payload, id: sample_id)
80
+ hardware_update = @samanage.update_hardware(payload: payload, id: sample_id)
83
81
  expect(hardware_update[:data]["name"]).to eq(new_name)
84
82
  expect(hardware_update[:code]).to eq(200).or(201)
85
83
  end
@@ -2,25 +2,28 @@ require 'samanage'
2
2
  describe Samanage::Api do
3
3
  context 'Incidents' do
4
4
  describe 'API Functions' do
5
- before(:each) do
5
+ before(:all) do
6
6
  TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
7
- @controller = Samanage::Api.new(token: TOKEN)
7
+ @samanage = Samanage::Api.new(token: TOKEN)
8
+ @incidents = @samanage.incidents
9
+ @users = @samanage.users
10
+ @incidents_with_archives = @samanage.incidents(options: {audit_archives: true})
8
11
  end
9
12
  it 'get_incidents: it returns API call of incidents' do
10
- api_call = @controller.get_incidents
13
+ api_call = @samanage.get_incidents
11
14
  expect(api_call).to be_a(Hash)
12
15
  expect(api_call[:total_count]).to be_an(Integer)
13
16
  expect(api_call).to have_key(:response)
14
17
  expect(api_call).to have_key(:code)
15
18
  end
16
19
  it 'collect_incidents: collects array of incidents' do
17
- incidents = @controller.collect_incidents
18
- incident_count = @controller.get_incidents[:total_count]
19
- expect(incidents).to be_an(Array)
20
- expect(incidents.size).to eq(incident_count)
20
+ incident_count = @samanage.get_incidents[:total_count]
21
+ @incidents = @samanage.incidents
22
+ expect(@incidents).to be_an(Array)
23
+ expect(@incidents.size).to eq(incident_count)
21
24
  end
22
25
  it 'create_incident(payload: json): creates a incident' do
23
- users_email = @controller.collect_users.sample['email']
26
+ users_email = @samanage.collect_users.sample['email']
24
27
  incident_name = "Samanage Ruby Incident"
25
28
  json = {
26
29
  :incident => {
@@ -29,26 +32,25 @@ describe Samanage::Api do
29
32
  :description => "Description"
30
33
  }
31
34
  }
32
- incident_create = @controller.create_incident(payload: json)
35
+ incident_create = @samanage.create_incident(payload: json)
33
36
 
34
37
  expect(incident_create[:data]['id']).to be_an(Integer)
35
38
  expect(incident_create[:data]['name']).to eq(incident_name)
36
39
  expect(incident_create[:code]).to eq(200).or(201)
37
40
  end
38
41
  it 'create_incident: fails if no name/title' do
39
- users_email = @controller.collect_users.sample['email']
42
+ users_email = @users.sample['email']
40
43
  json = {
41
44
  :incident => {
42
45
  :requester => {:email => users_email},
43
46
  :description => "Description"
44
47
  }
45
48
  }
46
- expect{@controller.create_incident(payload: json)}.to raise_error(Samanage::InvalidRequest)
49
+ expect{@samanage.create_incident(payload: json)}.to raise_error(Samanage::InvalidRequest)
47
50
  end
48
51
  it 'find_incident: returns a incident card by known id' do
49
- incidents = @controller.collect_incidents
50
- sample_id = incidents.sample['id']
51
- incident = @controller.find_incident(id: sample_id)
52
+ sample_id = @incidents.sample['id']
53
+ incident = @samanage.find_incident(id: sample_id)
52
54
 
53
55
  expect(incident[:data]['id']).to eq(sample_id) # id should match found incident
54
56
  expect(incident[:data]).to have_key('name')
@@ -57,11 +59,10 @@ describe Samanage::Api do
57
59
  end
58
60
  it 'find_incident: returns nothing for an invalid id' do
59
61
  sample_id = (0..10).entries.sample
60
- expect{@controller.find_incident(id: sample_id)}.to raise_error(Samanage::NotFound) # id should match found incident
62
+ expect{@samanage.find_incident(id: sample_id)}.to raise_error(Samanage::NotFound) # id should match found incident
61
63
  end
62
64
  it 'update_incident: update_incident by id' do
63
- incidents = @controller.collect_incidents
64
- sample_incident = incidents.reject{|i| ['Closed','Resolved'].include? i['state']}.sample
65
+ sample_incident = @incidents.reject{|i| ['Closed','Resolved'].include? i['state']}.sample
65
66
  sample_id = sample_incident['id']
66
67
  description = (0...500).map { ('a'..'z').to_a[rand(26)] }.join
67
68
  incident_json = {
@@ -69,22 +70,22 @@ describe Samanage::Api do
69
70
  :description => description
70
71
  }
71
72
  }
72
- incident_update = @controller.update_incident(payload: incident_json, id: sample_id)
73
+ incident_update = @samanage.update_incident(payload: incident_json, id: sample_id)
73
74
  expect(incident_update[:data]['description']).to eq(description)
74
75
  expect(incident_update[:code]).to eq(200).or(201)
75
76
  end
76
77
  it 'finds more data for option[:layout] = "long"' do
77
- full_layout_incident_keys = @controller.incidents(options: {layout: 'long'}).first.keys
78
- basic_incident_keys = @controller.incidents.sample.keys
78
+ full_layout_incident_keys = @samanage.incidents(options: {layout: 'long'}).first.keys
79
+ basic_incident_keys = @samanage.incidents.sample.keys
79
80
  expect(basic_incident_keys.size).to be < full_layout_incident_keys.size
80
81
  end
81
82
  it 'finds more audit archives for option[:audit_archives] = true' do
82
- incident_keys = @controller.incidents(options: {audit_archives: true}).sample.keys
83
+ incident_keys = @incidents_with_archives.sample.keys
83
84
  expect(incident_keys).to include('audits')
84
85
  end
85
86
  it 'finds audit archives for options: {audit_archives: true, layout: "long"}' do
86
- full_incident_keys = @controller.incidents(options: {audit_archives: true}).sample.keys
87
- basic_incident_keys = @controller.incidents.sample.keys
87
+ full_incident_keys = @incidents_with_archives.sample.keys
88
+ basic_incident_keys = @incidents.sample.keys
88
89
  expect(basic_incident_keys.size).to be < full_incident_keys.size
89
90
  expect(full_incident_keys).to include('audits')
90
91
  end
@@ -3,22 +3,22 @@ require 'samanage'
3
3
  describe Samanage::Api do
4
4
  context 'Mobile' do
5
5
  describe 'API Functions' do
6
- before(:each) do
6
+ before(:all) do
7
7
  TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
8
- @controller = Samanage::Api.new(token: TOKEN)
8
+ @samanage = Samanage::Api.new(token: TOKEN)
9
+ @mobiles = @samanage.mobiles
9
10
  end
10
11
  it 'get_mobiles: it returns API call of mobiles' do
11
- api_call = @controller.get_mobiles
12
+ api_call = @samanage.get_mobiles
12
13
  expect(api_call).to be_a(Hash)
13
14
  expect(api_call[:total_count]).to be_an(Integer)
14
15
  expect(api_call).to have_key(:response)
15
16
  expect(api_call).to have_key(:code)
16
17
  end
17
18
  it 'collect_mobiles: collects array of mobiles' do
18
- mobiles = @controller.collect_mobiles
19
- mobile_count = @controller.get_mobiles[:total_count]
20
- expect(mobiles).to be_an(Array)
21
- expect(mobiles.size).to eq(mobile_count)
19
+ mobile_count = @samanage.get_mobiles[:total_count]
20
+ expect(@mobiles).to be_an(Array)
21
+ expect(@mobiles.size).to eq(mobile_count)
22
22
  end
23
23
  it 'create_mobile(payload: json): creates a mobile' do
24
24
  mobile_name = "samanage-ruby-#{(rand*10**10).ceil}"
@@ -30,7 +30,7 @@ describe Samanage::Api do
30
30
  serial_number: serial_number,
31
31
  }
32
32
  }
33
- mobile_create = @controller.create_mobile(payload: json)
33
+ mobile_create = @samanage.create_mobile(payload: json)
34
34
 
35
35
  expect(mobile_create[:data]['id']).to be_an(Integer)
36
36
  expect(mobile_create[:data]['manufacturer']).to eq(mobile_name)
@@ -43,12 +43,11 @@ describe Samanage::Api do
43
43
  manufacturer: mobile_name,
44
44
  }
45
45
  }
46
- expect{@controller.create_mobile(payload: json)}.to raise_error(Samanage::InvalidRequest)
46
+ expect{@samanage.create_mobile(payload: json)}.to raise_error(Samanage::InvalidRequest)
47
47
  end
48
48
  it 'find_mobile: returns a mobile card by known id' do
49
- mobiles = @controller.collect_mobiles
50
- sample_id = mobiles.sample['id']
51
- mobile = @controller.find_mobile(id: sample_id)
49
+ sample_id = @mobiles.sample['id']
50
+ mobile = @samanage.find_mobile(id: sample_id)
52
51
 
53
52
  expect(mobile[:data]['id']).to eq(sample_id) # id should match found mobile
54
53
  expect(mobile[:data]).to have_key('manufacturer')
@@ -57,18 +56,17 @@ describe Samanage::Api do
57
56
  end
58
57
  it 'find_mobile: returns nothing for an invalid id' do
59
58
  sample_id = (0..10).entries.sample
60
- expect{@controller.find_mobile(id: sample_id)}.to raise_error(Samanage::NotFound) # id should match found mobile
59
+ expect{@samanage.find_mobile(id: sample_id)}.to raise_error(Samanage::NotFound) # id should match found mobile
61
60
  end
62
61
  it 'update_mobile: update_mobile by id' do
63
- mobiles = @controller.collect_mobiles
64
- sample_id = mobiles.sample['id']
62
+ sample_id = @mobiles.sample['id']
65
63
  new_name = (0...50).map {('a'..'z').to_a[rand(26)] }.join
66
64
  json = {
67
65
  :mobile => {
68
66
  :manufacturer => new_name
69
67
  }
70
68
  }
71
- mobile_update = @controller.update_mobile(payload: json, id: sample_id)
69
+ mobile_update = @samanage.update_mobile(payload: json, id: sample_id)
72
70
  expect(mobile_update[:data]["manufacturer"]).to eq(new_name)
73
71
  expect(mobile_update[:code]).to eq(200).or(201)
74
72
  end
@@ -3,20 +3,20 @@ require 'samanage'
3
3
  describe Samanage::Api do
4
4
  context 'Other Assets' do
5
5
  describe 'API Functions' do
6
- before(:each) do
6
+ before(:all) do
7
7
  TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
8
- @controller = Samanage::Api.new(token: TOKEN)
8
+ @samanage = Samanage::Api.new(token: TOKEN)
9
+ @other_assets = @samanage.other_assets
9
10
  end
10
11
  it 'get_other_assets: it returns API call of other_assets' do
11
- api_call = @controller.get_other_assets
12
+ api_call = @samanage.get_other_assets
12
13
  expect(api_call).to be_a(Hash)
13
14
  expect(api_call[:total_count]).to be_an(Integer)
14
15
  expect(api_call).to have_key(:response)
15
16
  expect(api_call).to have_key(:code)
16
17
  end
17
18
  it 'collect_other_assets: collects array of other_assets' do
18
- other_assets = @controller.collect_other_assets
19
- expect(other_assets).to be_an(Array)
19
+ expect(@other_assets).to be_an(Array)
20
20
  end
21
21
  it 'create_other_asset(payload: json): creates a other_asset' do
22
22
  other_asset_name = "samanage-ruby-#{(rand*10**10).ceil}"
@@ -29,7 +29,7 @@ describe Samanage::Api do
29
29
  }
30
30
  }
31
31
 
32
- other_asset_create = @controller.create_other_asset(payload: json)
32
+ other_asset_create = @samanage.create_other_asset(payload: json)
33
33
  expect(other_asset_create[:data]['id']).to be_an(Integer)
34
34
  expect(other_asset_create[:data]['name']).to eq(other_asset_name)
35
35
  expect(other_asset_create[:code]).to eq(200).or(201)
@@ -45,14 +45,13 @@ describe Samanage::Api do
45
45
  }
46
46
  }
47
47
  json[:other_asset].delete(json[:other_asset].keys.sample) # Delete random sample from the examples above
48
- expect{@controller.create_other_asset(payload: json)}.to raise_error(Samanage::InvalidRequest)
48
+ expect{@samanage.create_other_asset(payload: json)}.to raise_error(Samanage::InvalidRequest)
49
49
  end
50
50
 
51
51
  it 'find_other_asset: returns an other_asset card by known id' do
52
- other_assets = @controller.collect_other_assets
53
- sample_id = other_assets.sample['id']
52
+ sample_id = @other_assets.sample['id']
54
53
 
55
- other_asset = @controller.find_other_asset(id: sample_id)
54
+ other_asset = @samanage.find_other_asset(id: sample_id)
56
55
 
57
56
  expect(other_asset[:data]['id']).to eq(sample_id) # id should match found other_asset
58
57
  expect(other_asset[:data]).to have_key('name')
@@ -61,18 +60,17 @@ describe Samanage::Api do
61
60
  end
62
61
  it 'find_other_asset: returns nothing for an invalid id' do
63
62
  sample_id = (0..10).entries.sample
64
- expect{@controller.find_other_asset(id: sample_id)}.to raise_error(Samanage::NotFound) # id should match found other_asset
63
+ expect{@samanage.find_other_asset(id: sample_id)}.to raise_error(Samanage::NotFound) # id should match found other_asset
65
64
  end
66
65
  it 'update_other_asset: update_other_asset by id' do
67
- other_assets = @controller.collect_other_assets
68
- sample_id = other_assets.sample['id']
66
+ sample_id = @other_assets.sample['id']
69
67
  new_name = (0...50).map { ('a'..'z').to_a[rand(26)] }.join
70
68
  json = {
71
69
  :other_asset => {
72
70
  :name => new_name
73
71
  }
74
72
  }
75
- other_asset_update = @controller.update_other_asset(payload: json, id: sample_id)
73
+ other_asset_update = @samanage.update_other_asset(payload: json, id: sample_id)
76
74
  expect(other_asset_update[:data]["name"]).to eq(new_name)
77
75
  expect(other_asset_update[:code]).to eq(200).or(201)
78
76
  end
@@ -1,20 +1,21 @@
1
1
  require 'samanage'
2
2
  describe Samanage::Api do
3
3
  context 'Site' do
4
- before(:each) do
4
+ before(:all) do
5
5
  TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
6
- @controller = Samanage::Api.new(token: TOKEN)
6
+ @samanage = Samanage::Api.new(token: TOKEN)
7
+ @sites = @samanage.sites
7
8
  end
8
9
  it 'get_users: it returns API call of users' do
9
- api_call = @controller.get_sites
10
+ api_call = @samanage.get_sites
10
11
  expect(api_call).to be_a(Hash)
11
12
  expect(api_call[:total_count]).to be_an(Integer)
12
13
  expect(api_call).to have_key(:response)
13
14
  expect(api_call).to have_key(:code)
14
15
  end
15
16
  it 'collects all sites' do
16
- sites = @controller.collect_sites
17
- site_count = @controller.get_sites[:total_count]
17
+ sites = @sites
18
+ site_count = @samanage.get_sites[:total_count]
18
19
  expect(sites).to be_an(Array)
19
20
  expect(sites.size).to eq(site_count)
20
21
  end
@@ -29,7 +30,7 @@ describe Samanage::Api do
29
30
  description: site_description
30
31
  }
31
32
  }
32
- site_create = @controller.create_site(payload: payload)
33
+ site_create = @samanage.create_site(payload: payload)
33
34
 
34
35
  expect(site_create[:data]['id']).to be_an(Integer)
35
36
  expect(site_create[:data]['name']).to eq(site_name)
@@ -2,23 +2,23 @@ require 'samanage'
2
2
 
3
3
  describe Samanage::Api do
4
4
  context 'Users' do
5
- before(:each) do
5
+ before(:all) do
6
6
  TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
7
- @controller = Samanage::Api.new(token: TOKEN)
7
+ @samanage = Samanage::Api.new(token: TOKEN)
8
+ @users = @samanage.users
8
9
  end
9
10
  describe 'API Functions' do
10
11
  it 'get_users: it returns API call of users' do
11
- api_call = @controller.get_users
12
+ api_call = @samanage.get_users
12
13
  expect(api_call).to be_a(Hash)
13
14
  expect(api_call[:total_count]).to be_an(Integer)
14
15
  expect(api_call).to have_key(:response)
15
16
  expect(api_call).to have_key(:code)
16
17
  end
17
18
  it 'collect_users: collects array of users' do
18
- users = @controller.collect_users
19
- user_count = @controller.get_users[:total_count]
20
- expect(users).to be_an(Array)
21
- expect(users.size).to eq(user_count)
19
+ user_count = @samanage.get_users[:total_count]
20
+ expect(@users).to be_an(Array)
21
+ expect(@users.size).to eq(user_count)
22
22
  end
23
23
  it 'create_user(payload: json): creates a user' do
24
24
  user_name = "samanage-ruby-#{(rand*10**10).ceil}"
@@ -29,7 +29,7 @@ describe Samanage::Api do
29
29
  :email => email,
30
30
  }
31
31
  }
32
- user_create = @controller.create_user(payload: json)
32
+ user_create = @samanage.create_user(payload: json)
33
33
  expect(user_create[:data]['email']).to eq(email)
34
34
  expect(user_create[:data]['id']).to be_an(Integer)
35
35
  expect(user_create[:data]['name']).to eq(user_name)
@@ -42,12 +42,11 @@ describe Samanage::Api do
42
42
  :name => user_name,
43
43
  }
44
44
  }
45
- expect{@controller.create_user(payload: json)}.to raise_error(Samanage::InvalidRequest)
45
+ expect{@samanage.create_user(payload: json)}.to raise_error(Samanage::InvalidRequest)
46
46
  end
47
47
  it 'find_user: returns a user card by known id' do
48
- users = @controller.collect_users
49
- sample_id = users.sample['id']
50
- user = @controller.find_user(id: sample_id)
48
+ sample_id = @users.sample['id']
49
+ user = @samanage.find_user(id: sample_id)
51
50
  expect(user[:data]['id']).to eq(sample_id) # id should match found user
52
51
  expect(user[:data]).to have_key('email')
53
52
  expect(user[:data]).to have_key('name')
@@ -56,33 +55,31 @@ describe Samanage::Api do
56
55
 
57
56
  it 'find_user: returns nothing for an invalid id' do
58
57
  sample_id = (0..10).entries.sample
59
- expect{@controller.find_user(id: sample_id)}.to raise_error(Samanage::NotFound) # id should match found user
58
+ expect{@samanage.find_user(id: sample_id)}.to raise_error(Samanage::NotFound) # id should match found user
60
59
  end
61
60
 
62
61
  it 'finds_user_id_by_email' do
63
- users = @controller.collect_users
64
- sample_user = users.sample
62
+ sample_user = @users.sample
65
63
  sample_email = sample_user['email']
66
64
  sample_id = sample_user['id']
67
- found_id = @controller.find_user_id_by_email(email: sample_email)
65
+ found_id = @samanage.find_user_id_by_email(email: sample_email)
68
66
  expect(sample_email).not_to be(nil)
69
67
  expect(sample_id).to eq(found_id)
70
68
  end
71
69
 
72
70
  it 'finds group_id for user' do
73
- users = @controller.collect_users
74
- sample_user = users.select{|u| u['role']['name'] == 'Administrator'}.sample
71
+ sample_user = @users.select{|u| u['role']['name'] == 'Administrator'}.sample
75
72
  sample_user_email = sample_user['email']
76
73
  group_ids = sample_user['group_ids']
77
74
  found_id = nil
78
75
 
79
76
  group_ids.each do |group_id|
80
- group = @controller.find_group(id: group_id)
77
+ group = @samanage.find_group(id: group_id)
81
78
  if group[:data]['is_user'] && sample_user_email == group[:data]['email']
82
79
  found_id ||= group_id
83
80
  end
84
81
  end
85
- function_id = @controller.find_user_group_id_by_email(email: sample_user_email)
82
+ function_id = @samanage.find_user_group_id_by_email(email: sample_user_email)
86
83
 
87
84
  expect(function_id).to eq(found_id)
88
85
  end
@@ -90,14 +87,14 @@ describe Samanage::Api do
90
87
 
91
88
  it 'returns nil for invalid find_user_group_id_by_email' do
92
89
  invalid_user_email = 'abc@123.gov'
93
- function_id = @controller.find_user_group_id_by_email(email: invalid_user_email)
90
+ function_id = @samanage.find_user_group_id_by_email(email: invalid_user_email)
94
91
 
95
92
  expect(function_id).to be(nil)
96
93
  end
97
94
 
98
95
  it 'returns nil for invalid find_user_id_by_email' do
99
96
  invalid_user_email = 'abc@123.gov'
100
- function_id = @controller.find_user_id_by_email(email: invalid_user_email)
97
+ function_id = @samanage.find_user_id_by_email(email: invalid_user_email)
101
98
 
102
99
  expect(function_id).to be(nil)
103
100
  end
@@ -105,15 +102,14 @@ describe Samanage::Api do
105
102
 
106
103
 
107
104
  it 'update_user: update_user by id' do
108
- users = @controller.collect_users
109
- sample_id = users.sample['id']
105
+ sample_id = @users.sample['id']
110
106
  new_name = (0...25).map { ('a'..'z').to_a[rand(26)] }.join
111
107
  json = {
112
108
  :user => {
113
109
  :name => new_name
114
110
  }
115
111
  }
116
- user_update = @controller.update_user(payload: json, id: sample_id)
112
+ user_update = @samanage.update_user(payload: json, id: sample_id)
117
113
  expect(user_update[:data]["name"]).to eq(new_name)
118
114
  expect(user_update[:code]).to eq(200).or(201)
119
115
  end
@@ -4,16 +4,17 @@ describe Samanage::Api do
4
4
  describe 'API Functions' do
5
5
  before(:each) do
6
6
  TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
7
- @controller = Samanage::Api.new(token: TOKEN)
7
+ @samanage = Samanage::Api.new(token: TOKEN)
8
+ @users = @samanage.users
8
9
  end
9
10
  it 'sends an activation email' do
10
- valid_email = @controller.users.sample['email']
11
- send_email = @controller.send_activation_email(email: valid_email)
11
+ valid_email = @users.sample['email']
12
+ send_email = @samanage.send_activation_email(email: valid_email)
12
13
  expect(send_email[:code]).to be(200)
13
14
  end
14
15
  it 'fails for invalid email' do
15
- invalid_email = @controller.users.sample['email'].gsub!('@','$')
16
- expect{@controller.send_activation_email(email: invalid_email)}.to raise_error(Samanage::Error)
16
+ invalid_email = @samanage.users.sample['email'].gsub!('@','$')
17
+ expect{@samanage.send_activation_email(email: invalid_email)}.to raise_error(Samanage::Error)
17
18
  end
18
19
  end
19
20
  end
@@ -1,11 +1,11 @@
1
1
  require 'spec_helper'
2
2
  describe Samanage do
3
3
  describe 'API Controller' do
4
- before(:each) do
4
+ before(:all) do
5
5
  TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
6
6
  end
7
- context 'on creation' do
8
- it 'Requires Email & Token' do
7
+ context 'on instantiation' do
8
+ it 'Requires Valid Token' do
9
9
  expect{
10
10
  api_controller = Samanage::Api.new(token: "invalid token")
11
11
  api_controller.authorize
@@ -1,14 +1,14 @@
1
1
  require 'samanage'
2
2
  describe Samanage::Api do
3
3
  context 'category' do
4
- before(:each) do
4
+ before(:all) do
5
5
  TOKEN ||= ENV['SAMANAGE_TEST_API_TOKEN']
6
- @controller = Samanage::Api.new(token: TOKEN)
6
+ @samanage = Samanage::Api.new(token: TOKEN)
7
+ @categories = @samanage.collect_categories
7
8
  end
8
9
  it 'collects all categories' do
9
- categories = @controller.collect_categories
10
- category_count = @controller.execute(path: 'categories.json')
11
- expect(categories).to be_an(Array)
10
+ category_count = @samanage.execute(path: 'categories.json')
11
+ expect(@categories).to be_an(Array)
12
12
  end
13
13
 
14
14
  it 'creates a category' do
@@ -21,7 +21,7 @@ describe Samanage::Api do
21
21
  description: category_description
22
22
  }
23
23
  }
24
- category_create = @controller.create_category(payload: payload)
24
+ category_create = @samanage.create_category(payload: payload)
25
25
 
26
26
  expect(category_create[:data]['id']).to be_an(Integer)
27
27
  expect(category_create[:data]['name']).to eq(category_name)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: samanage
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.8
4
+ version: 1.8.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Walls
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-05 00:00:00.000000000 Z
11
+ date: 2018-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty