qa-ctx-backend-helper 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
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: []