qa-ctx-backend-helper 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6596bd4c2126c53335a691e9c4422b2c51a1bbb1
4
+ data.tar.gz: 0258b3bbc22703a2537dfcf4c413cb4bf05182ce
5
+ SHA512:
6
+ metadata.gz: 2e75ba703a28333059b1871cf7d9435288e6b5306ff0c338d1125bff753e9e2b185792b3b71e6b254325ed5cacde51aa7451101a613a9d42da61a37c672de873
7
+ data.tar.gz: 4d59b1e221a16bff5c712ae33a8622275eb61037a5a22adc083ba9cdab857b763f281f59d746545283ad00d46cbbce55c93008d18024d0e56d764bde4fcd2863
@@ -0,0 +1,28 @@
1
+ require 'watir-webdriver'
2
+
3
+ class Wallhack_WS_Demo_Page
4
+ attr_accessor :phantom_browser
5
+
6
+ DIRECT_URL = "http://wallhack.qa.ctx.ef.com/ws/login?user_email=[EMAIL]"
7
+
8
+ def initialize(browser)
9
+ @phantom_browser = browser
10
+ end
11
+
12
+ # Web elements
13
+
14
+ def stop_all_lessons_button
15
+ @phantom_browser.element(:id => 'finish-all-lessons')
16
+ end
17
+
18
+ # Service methods
19
+
20
+ def load_page(user_email)
21
+ @phantom_browser.goto(DIRECT_URL.sub('[EMAIL]', user_email).sub('+', '%2B'))
22
+ end
23
+
24
+ def stop_all_lessons
25
+ stop_all_lessons_button.click
26
+ end
27
+
28
+ end
@@ -0,0 +1,68 @@
1
+ require 'page_objects/wallhack_ws_demo_page'
2
+ require 'watir-webdriver'
3
+
4
+ class QA_CTX_Backend_Helper
5
+
6
+ WALLHACK_HOST = 'wallhack.qa.ctx.ef.com'
7
+
8
+ def self.update_taught_lessons_timestamps(period, lesson_id, user_email)
9
+ case period
10
+ when 'This week'
11
+ start_date = Date.today
12
+ when 'Last week'
13
+ start_date = Date.today-7
14
+ when 'This month'
15
+ start_date = Date.today
16
+ when 'Last month'
17
+ start_date = Date.today<<1
18
+ when '2 month ago'
19
+ start_date = Date.today<<2
20
+ when '3 month ago'
21
+ start_date = Date.today<<3
22
+ when '4 month ago'
23
+ start_date = Date.today<<4
24
+ when 'Older'
25
+ start_date = Date.today<<6
26
+ else
27
+ start_date = Date.today<<7
28
+ end
29
+
30
+ http2 = Net::HTTP.new(WALLHACK_HOST)
31
+ path = '/ws/login?user_email=' + user_email.sub('+', '%2B')
32
+ next_path = '/lessons/' + lesson_id
33
+
34
+ r = http2.get(path)
35
+ cookie = {'Cookie'=>r.to_hash['set-cookie'].collect{|ea|ea[/^.*?;/]}.join}
36
+
37
+ r2 = http2.get(next_path,cookie)
38
+ #r2.body.slice! '"version": 1, '
39
+ parsed = JSON.parse(r2.body)
40
+ parsed["metadata"]["started"] = start_date.to_s + 'T14:24:05.229770+00:00'
41
+
42
+ uri = URI('http://'+WALLHACK_HOST+'/lessons/' + lesson_id)
43
+
44
+ #delete_req = Net::HTTP::Delete.new(uri)
45
+ #delete_req['Cookie'] = r['Set-Cookie']
46
+ #response = http2.request(delete_req)
47
+
48
+ req = Net::HTTP::Put.new(uri)
49
+ req.body = parsed.to_json
50
+ req.content_type = 'multipart/form-data'
51
+ req['Cookie'] = r['Set-Cookie']
52
+ response = http2.request(req)
53
+ end
54
+
55
+ def self.stop_all_lessons(user_email)
56
+ browser = Watir::Browser.new :phantomjs
57
+ wallhack_demo_page = Wallhack_WS_Demo_Page.new(browser)
58
+ wallhack_demo_page.load_page(user_email)
59
+ sleep(5)
60
+ wallhack_demo_page.stop_all_lessons
61
+ sleep(5)
62
+ browser.close
63
+ end
64
+
65
+ end
66
+
67
+
68
+ #CTX_Backend_Helper.stop_all_lessons('ctx.twa+4@gmail.com')
metadata ADDED
@@ -0,0 +1,45 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: qa-ctx-backend-helper
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - pejesapo
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2010-04-28 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: This gem helps to use the ctx backend tool manage lessons and sessions.
14
+ email: wt.delacruz@gmail.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/qa_ctx_backend_helper.rb
20
+ - lib/page_objects/wallhack_ws_demo_page.rb
21
+ homepage:
22
+ licenses:
23
+ - MIT
24
+ metadata: {}
25
+ post_install_message:
26
+ rdoc_options: []
27
+ require_paths:
28
+ - lib
29
+ required_ruby_version: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ required_rubygems_version: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ requirements: []
40
+ rubyforge_project:
41
+ rubygems_version: 2.0.14.1
42
+ signing_key:
43
+ specification_version: 4
44
+ summary: CTX Backend Helper
45
+ test_files: []