avmtrf1-tools 0.3.0 → 0.4.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 +4 -4
- data/lib/avmtrf1.rb +5 -0
- data/lib/avmtrf1/active_directory.rb +8 -0
- data/lib/avmtrf1/active_directory/user.rb +28 -0
- data/lib/avmtrf1/ad_user.rb +11 -0
- data/lib/avmtrf1/check_point.rb +3 -0
- data/lib/avmtrf1/check_point/session.rb +59 -0
- data/lib/avmtrf1/check_point/session/login.rb +53 -0
- data/lib/avmtrf1/configs.rb +13 -0
- data/lib/avmtrf1/tools/runner.rb +1 -0
- data/lib/avmtrf1/tools/runner/check_point.rb +23 -0
- data/lib/avmtrf1/tools/runner/check_point/login.rb +47 -0
- data/lib/avmtrf1/tools/runner/oracle/source_get.rb +3 -0
- data/lib/avmtrf1/tools/version.rb +1 -1
- metadata +21 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a1a4ef4f8d57d9aa000216c4f531d4c531a220632b8c09e43f90cf9465c1b5a8
|
4
|
+
data.tar.gz: 6276b7f1bb63b64447f19f8c25c0de1cdea1880a8020b3a9f62c224fdb873b1a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 62fb2aaf5b5b3131e05e1e574c556f43a3e61913fa7b6eee4fcd55ec2834f4a40ab43de43ef921674f22eb9f9fa21caf1b5da8a3234716aed47f9799012c6e7c
|
7
|
+
data.tar.gz: 41238e7ba019f46891bfe962b8df8d260e947e3dfc838e374def7922da42c63a8ac6dee9ff829ec77adf99d6432510f7ea3ee6fc49f6fc5d71b4a18c4b32c694
|
data/lib/avmtrf1.rb
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Avmtrf1
|
4
|
+
require 'avmtrf1/active_directory'
|
5
|
+
require 'avmtrf1/ad_user'
|
6
|
+
require 'avmtrf1/configs'
|
7
|
+
require 'avmtrf1/ini'
|
4
8
|
require 'avmtrf1/oracle'
|
5
9
|
require 'avmtrf1/patches'
|
10
|
+
require 'avmtrf1/red'
|
6
11
|
require 'avmtrf1/tools'
|
7
12
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avmtrf1
|
4
|
+
module ActiveDirectory
|
5
|
+
class User
|
6
|
+
class << self
|
7
|
+
def by_configs(path_prefix)
|
8
|
+
new(
|
9
|
+
::Avmtrf1.configs.read_entry("#{path_prefix}.domain"),
|
10
|
+
::Avmtrf1.configs.read_entry("#{path_prefix}.username"),
|
11
|
+
::Avmtrf1.configs.read_password("#{path_prefix}.password")
|
12
|
+
)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
attr_reader :domain, :username, :password
|
16
|
+
|
17
|
+
def initialize(domain, username, password)
|
18
|
+
@domain = domain
|
19
|
+
@username = username
|
20
|
+
@password = password
|
21
|
+
end
|
22
|
+
|
23
|
+
def username_with_domain
|
24
|
+
"#{domain}\\#{username}"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avmtrf1/ad_user'
|
4
|
+
require 'avmtrf1/check_point/session/login'
|
5
|
+
|
6
|
+
module Avmtrf1
|
7
|
+
module CheckPoint
|
8
|
+
class Session
|
9
|
+
ROOT_URL = 'https://cp.trf1.jus.br'
|
10
|
+
LOGIN_URL = "#{ROOT_URL}/connect/PortalMain"
|
11
|
+
LOGGED_TITLE_TEXT = 'Network Access Granted'
|
12
|
+
|
13
|
+
class << self
|
14
|
+
def by_ad_user(ad_user, driver_options = {})
|
15
|
+
new(
|
16
|
+
ad_user.username_with_domain,
|
17
|
+
ad_user.password,
|
18
|
+
driver_options
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
def by_default_ad_user(driver_options = {})
|
23
|
+
by_ad_user(::Avmtrf1.ad_user, driver_options)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
attr_reader :username, :password, :session
|
28
|
+
|
29
|
+
def initialize(username, password, driver_options = {})
|
30
|
+
@username = username
|
31
|
+
@password = password
|
32
|
+
@session = ::Aranha::Selenium::Session.new(
|
33
|
+
driver_options.merge(accept_insecure_certs: true)
|
34
|
+
)
|
35
|
+
end
|
36
|
+
|
37
|
+
def logged?
|
38
|
+
session.navigate.to LOGIN_URL
|
39
|
+
title_text == LOGGED_TITLE_TEXT
|
40
|
+
end
|
41
|
+
|
42
|
+
def login
|
43
|
+
::Avmtrf1::CheckPoint::Session::Login.new(self)
|
44
|
+
end
|
45
|
+
|
46
|
+
def title_text
|
47
|
+
result_text = nil
|
48
|
+
session.wait.until do
|
49
|
+
element = session.find_element(id: 'usercheck_title_div')
|
50
|
+
return false unless element
|
51
|
+
|
52
|
+
result_text = element.text.strip
|
53
|
+
result_text.present?
|
54
|
+
end
|
55
|
+
result_text
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avmtrf1
|
4
|
+
module CheckPoint
|
5
|
+
class Session
|
6
|
+
class Login
|
7
|
+
def initialize(parent)
|
8
|
+
@parent = parent
|
9
|
+
run
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
attr_reader :parent
|
15
|
+
|
16
|
+
def session
|
17
|
+
parent.session
|
18
|
+
end
|
19
|
+
|
20
|
+
def run
|
21
|
+
go_to_login_form
|
22
|
+
fill_username
|
23
|
+
fill_password
|
24
|
+
click_login_button
|
25
|
+
wait_for_result_page
|
26
|
+
end
|
27
|
+
|
28
|
+
def go_to_login_form
|
29
|
+
session.navigate.to ::Avmtrf1::CheckPoint::Session::LOGIN_URL
|
30
|
+
end
|
31
|
+
|
32
|
+
def fill_username
|
33
|
+
session.wait_for_element(id: 'LoginUserPassword_auth_username').send_keys(parent.username)
|
34
|
+
end
|
35
|
+
|
36
|
+
def fill_password
|
37
|
+
session.wait_for_element(id: 'LoginUserPassword_auth_password').send_keys(parent.password)
|
38
|
+
end
|
39
|
+
|
40
|
+
def click_login_button
|
41
|
+
session.wait_for_element(id: 'UserCheck_Login_Button_span').click
|
42
|
+
end
|
43
|
+
|
44
|
+
def wait_for_result_page
|
45
|
+
session.wait.until do
|
46
|
+
element = session.find_element(id: 'usercheck_title_div')
|
47
|
+
element && element.text == 'Network Access Granted'
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
data/lib/avmtrf1/tools/runner.rb
CHANGED
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/console/docopt_runner'
|
4
|
+
require 'avmtrf1/tools/runner/check_point/login'
|
5
|
+
|
6
|
+
module Avmtrf1
|
7
|
+
module Tools
|
8
|
+
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
9
|
+
class CheckPoint < ::EacRubyUtils::Console::DocoptRunner
|
10
|
+
DOC = <<~DOCOPT
|
11
|
+
Utilidades para Check Point (https://cp.trf1.jus.br).
|
12
|
+
|
13
|
+
Usage:
|
14
|
+
__PROGRAM__ __SUBCOMMANDS__
|
15
|
+
__PROGRAM__ -h | --help
|
16
|
+
|
17
|
+
Options:
|
18
|
+
-h --help Mostra esta ajuda.
|
19
|
+
DOCOPT
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/console/docopt_runner'
|
4
|
+
require 'eac_ruby_utils/console/speaker'
|
5
|
+
require 'eac_ruby_utils/simple_cache'
|
6
|
+
require 'avmtrf1'
|
7
|
+
require 'avmtrf1/check_point/session'
|
8
|
+
|
9
|
+
module Avmtrf1
|
10
|
+
module Tools
|
11
|
+
class Runner < ::EacRubyUtils::Console::DocoptRunner
|
12
|
+
class CheckPoint < ::EacRubyUtils::Console::DocoptRunner
|
13
|
+
class Login < ::EacRubyUtils::Console::DocoptRunner
|
14
|
+
include ::EacRubyUtils::SimpleCache
|
15
|
+
include ::EacRubyUtils::Console::Speaker
|
16
|
+
|
17
|
+
DOC = <<~DOCOPT
|
18
|
+
Login no CheckPoint (https://cp.trf1.jus.br).
|
19
|
+
|
20
|
+
Usage:
|
21
|
+
__PROGRAM__ [options]
|
22
|
+
__PROGRAM__ -h | --help
|
23
|
+
|
24
|
+
Options:
|
25
|
+
-h --help Mostra esta ajuda.
|
26
|
+
-H --headless Não mostra a interface gráfica do navegador web.
|
27
|
+
DOCOPT
|
28
|
+
|
29
|
+
def run
|
30
|
+
infov 'Username', session.username
|
31
|
+
logged = session.logged?
|
32
|
+
infov 'Logged', logged
|
33
|
+
return if logged
|
34
|
+
|
35
|
+
infom 'Trying login...'
|
36
|
+
session.login
|
37
|
+
infov 'Logged after login?', session.logged?
|
38
|
+
end
|
39
|
+
|
40
|
+
def session_uncached
|
41
|
+
::Avmtrf1::CheckPoint::Session.by_default_ad_user(headless: options.fetch('--headless'))
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avmtrf1-tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eduardo H. Bogoni
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-08-
|
11
|
+
date: 2019-08-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aranha
|
@@ -16,28 +16,34 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.9.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 0.9.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: eac_ruby_utils
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0.
|
33
|
+
version: '0.10'
|
34
|
+
- - ">="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 0.10.1
|
34
37
|
type: :runtime
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
37
40
|
requirements:
|
38
41
|
- - "~>"
|
39
42
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0.
|
43
|
+
version: '0.10'
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 0.10.1
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: inifile
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -132,6 +138,13 @@ files:
|
|
132
138
|
- Gemfile
|
133
139
|
- exe/avmtrf1
|
134
140
|
- lib/avmtrf1.rb
|
141
|
+
- lib/avmtrf1/active_directory.rb
|
142
|
+
- lib/avmtrf1/active_directory/user.rb
|
143
|
+
- lib/avmtrf1/ad_user.rb
|
144
|
+
- lib/avmtrf1/check_point.rb
|
145
|
+
- lib/avmtrf1/check_point/session.rb
|
146
|
+
- lib/avmtrf1/check_point/session/login.rb
|
147
|
+
- lib/avmtrf1/configs.rb
|
135
148
|
- lib/avmtrf1/esosti/parsers/solicitacao/main.rb
|
136
149
|
- lib/avmtrf1/esosti/session.rb
|
137
150
|
- lib/avmtrf1/esosti/session/action_base.rb
|
@@ -156,6 +169,8 @@ files:
|
|
156
169
|
- lib/avmtrf1/red/server.rb
|
157
170
|
- lib/avmtrf1/tools.rb
|
158
171
|
- lib/avmtrf1/tools/runner.rb
|
172
|
+
- lib/avmtrf1/tools/runner/check_point.rb
|
173
|
+
- lib/avmtrf1/tools/runner/check_point/login.rb
|
159
174
|
- lib/avmtrf1/tools/runner/esosti.rb
|
160
175
|
- lib/avmtrf1/tools/runner/oracle.rb
|
161
176
|
- lib/avmtrf1/tools/runner/oracle/source_get.rb
|