atlas-utils 0.0.0 → 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/atlas_utils/rest_helper.rb +15 -31
- data/lib/atlas_utils/test.rb +1 -1
- data/lib/atlas_utils.rb +40 -13
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 714728b6ef1099397525bb40d6172995444cbc1a3e49de7c84ba191ed8940c87
|
4
|
+
data.tar.gz: 5eefc6e33e5aabeb394f73d49d8791e9939d51229525d2fd4de42c9e7ae61667
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e4fa91681f550840bbe37c782d7ed2de5b08b1373614dc5005c332828eca7beafdb7ed951aef450183912884643bbac55dd456e8f251908ff700bad6b450094
|
7
|
+
data.tar.gz: 85b6d4815ed2f52591ec72cb4c6df4004f7b32df8e96699fe7d5d2fc13b7a1f4a52a53d073194118a88c4c1ea7f135f02ecbe356f5d2133477233f82f2feeb41
|
@@ -1,31 +1,24 @@
|
|
1
1
|
require 'json'
|
2
2
|
require 'rest-client'
|
3
|
+
require 'rspec'
|
4
|
+
require 'rspec/expectations'
|
3
5
|
|
4
6
|
class RestHelper
|
5
|
-
def self.get_from_api(url, additional_headers = {})
|
7
|
+
def self.get_from_api(url, json_headers, additional_headers = {})
|
6
8
|
headers = json_headers
|
7
9
|
headers.merge!(additional_headers)
|
8
|
-
|
9
|
-
puts "URL: #{url}"
|
10
|
-
puts "HEADERS: #{headers}"
|
11
|
-
puts "!!!!!!!!!!!!!!!!!!!!!!"
|
12
|
-
# $LOG.debug("URL: #{url}")
|
13
|
-
# $LOG.debug("HEADERS: #{headers}")
|
14
|
-
|
15
10
|
begin
|
16
11
|
tries ||= 3
|
17
12
|
api_response = RestClient.get(url, headers) { |response, _request| response }
|
18
|
-
|
19
|
-
api_response.code
|
20
|
-
|
21
|
-
|
22
|
-
pcms_pattern = %r{\/adapter-atlas\/v3\/query\/node\/(.*)}
|
23
|
-
if url.match(pcms_pattern)
|
24
|
-
puts "NODE ID FROM RESPONSE: #{respo['id']}"
|
25
|
-
expect(respo['id']).to eq(url.match(pcms_pattern)[1].split('?').first)
|
13
|
+
# expect(api_response.code).to eq(200)
|
14
|
+
if api_response.code != 200
|
15
|
+
puts "ERROR in get_from_api: response code #{api_response.code}"
|
26
16
|
end
|
27
|
-
|
28
|
-
|
17
|
+
respo = JSON.parse(api_response)
|
18
|
+
rescue => e
|
19
|
+
puts 'RESCUE in get_from_api@'
|
20
|
+
puts e.message
|
21
|
+
puts "======="
|
29
22
|
if (tries -= 1) > 0
|
30
23
|
puts'RETRY REQUEST'
|
31
24
|
retry
|
@@ -37,21 +30,12 @@ class RestHelper
|
|
37
30
|
respo
|
38
31
|
end
|
39
32
|
|
40
|
-
def self.json_headers
|
41
|
-
headers = { 'Content-Type' => 'application/json',
|
42
|
-
'x-skyott-proposition' => 'NOWTV',
|
43
|
-
'x-skyott-language' => 'en',
|
44
|
-
'x-skyott-territory' => 'GB',
|
45
|
-
'x-skyott-platform' => 'APPLETV',
|
46
|
-
'x-skyott-device' => 'IPSETTOPBOX' }
|
47
|
-
|
48
|
-
# headers['sky-resiliency'] = ENV['RESILIENCY_HEADER'] if ENV['RESILIENCY_HEADER']
|
49
|
-
headers
|
50
|
-
end
|
51
|
-
|
52
33
|
def self.get_from_api_search(url)
|
53
34
|
api_response = RestClient.get(url, json_headers_search) { |response, _request| response }
|
54
|
-
api_response.code.
|
35
|
+
# expect(api_response.code).to eq(200)
|
36
|
+
if api_response.code != 200
|
37
|
+
puts "ERROR in get_from_api_search: response code #{api_response.code}"
|
38
|
+
end
|
55
39
|
JSON.parse(api_response)
|
56
40
|
end
|
57
41
|
|
data/lib/atlas_utils/test.rb
CHANGED
data/lib/atlas_utils.rb
CHANGED
@@ -1,11 +1,26 @@
|
|
1
1
|
module AtlasUtils
|
2
2
|
class Menu
|
3
|
-
def initialize(
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
@
|
8
|
-
@
|
3
|
+
def initialize(configurator, config_params)
|
4
|
+
|
5
|
+
@configurator = configurator
|
6
|
+
@env = config_params[:env]
|
7
|
+
@device = config_params[:device]
|
8
|
+
@platform = config_params[:platform]
|
9
|
+
@language = config_params[:language]
|
10
|
+
@territory = config_params[:territory]
|
11
|
+
@root_menu_url = configurator['environments'][@env][@territory]['base_seamless_url']
|
12
|
+
@root_pcms_url = configurator['environments'][@env][@territory]['base_pcms_url']
|
13
|
+
|
14
|
+
puts "Env: #{@env} Device: #{@device} Platform: #{@platform } Lang: #{@language} Territory: #{@territory}"
|
15
|
+
end
|
16
|
+
|
17
|
+
def json_headers
|
18
|
+
headers = { 'X-SkyOTT-Proposition' => 'NOWTV',
|
19
|
+
'X-SkyOTT-Language' => @language,
|
20
|
+
'X-SkyOTT-Territory' => @territory,
|
21
|
+
'X-SkyOTT-Platform' => @platform,
|
22
|
+
'X-SkyOTT-Device' => @device }
|
23
|
+
headers
|
9
24
|
end
|
10
25
|
|
11
26
|
def root_menu_collection
|
@@ -17,7 +32,7 @@ module AtlasUtils
|
|
17
32
|
end
|
18
33
|
|
19
34
|
def sub_menu_json
|
20
|
-
menu_json['relationships']['items']['data']
|
35
|
+
menu_json['relationships']['items']['data']
|
21
36
|
end
|
22
37
|
|
23
38
|
def sub_menu_titles
|
@@ -25,7 +40,7 @@ module AtlasUtils
|
|
25
40
|
end
|
26
41
|
|
27
42
|
def api_response(url)
|
28
|
-
RestHelper.get_from_api(url)
|
43
|
+
RestHelper.get_from_api(url, json_headers)
|
29
44
|
end
|
30
45
|
|
31
46
|
def sub_menu_item_json(menu)
|
@@ -100,16 +115,28 @@ module AtlasUtils
|
|
100
115
|
end
|
101
116
|
menu_item_title
|
102
117
|
end
|
118
|
+
|
119
|
+
def get_asset_details(node_id)
|
120
|
+
node_url = @configurator['environments'][@env][@territory]['node_url']
|
121
|
+
asset_details_from_api = api_response(node_url+node_id)
|
122
|
+
asset_details_from_api
|
123
|
+
end
|
103
124
|
end
|
104
125
|
|
126
|
+
def self.test_settings(config)
|
127
|
+
@test_settings ||= YAML.load_file(AtlasUtils.get_file_path(config))
|
128
|
+
end
|
129
|
+
|
130
|
+
def self.get_file_path(filename)
|
131
|
+
File.join(Dir.pwd, filename)
|
132
|
+
end
|
105
133
|
|
106
|
-
def self.menu_api_helper
|
107
|
-
|
108
|
-
|
109
|
-
puts "In MAH"
|
110
|
-
@menu_api_helper ||= AtlasUtils::Menu.new(base_menu_url, base_pcms_url)
|
134
|
+
def self.menu_api_helper(config, config_params)
|
135
|
+
configurator = AtlasUtils.test_settings(config)
|
136
|
+
@menu_api_helper ||= AtlasUtils::Menu.new(configurator, config_params)
|
111
137
|
end
|
112
138
|
end
|
113
139
|
|
114
140
|
require 'atlas_utils/rest_helper.rb'
|
115
141
|
require 'atlas_utils/test'
|
142
|
+
require 'yaml'
|