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 +7 -0
- data/lib/page_objects/wallhack_ws_demo_page.rb +28 -0
- data/lib/qa_ctx_backend_helper.rb +68 -0
- metadata +45 -0
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: []
|