uniara_virtual_parser 0.0.2 → 0.0.3
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/bin/rake +16 -0
- data/lib/uniara_virtual_parser.rb +4 -1
- data/lib/uniara_virtual_parser/models/file.rb +13 -0
- data/lib/uniara_virtual_parser/models/subject.rb +9 -9
- data/lib/uniara_virtual_parser/services/files.rb +49 -0
- data/lib/uniara_virtual_parser/services/grades.rb +11 -10
- data/lib/uniara_virtual_parser/services/login.rb +2 -1
- data/lib/uniara_virtual_parser/version.rb +1 -1
- data/spec/fixtures/uniara_virtual/files_model_1.html +579 -0
- data/spec/fixtures/uniara_virtual/files_model_2.html +791 -0
- data/spec/uniara_virtual_parser/client_spec.rb +3 -1
- data/spec/uniara_virtual_parser/services/files_spec.rb +31 -0
- data/spec/uniara_virtual_parser/services/grades_spec.rb +5 -2
- data/spec/uniara_virtual_parser/services/login_spec.rb +18 -26
- metadata +13 -3
@@ -9,8 +9,9 @@ module UniaraVirtualParser
|
|
9
9
|
let(:client) { double(:client, post: true) }
|
10
10
|
|
11
11
|
describe '.client' do
|
12
|
-
it '
|
12
|
+
it 'creates only one hurley_client object' do
|
13
13
|
expect(Hurley::Client).to receive(:new).once { client }
|
14
|
+
|
14
15
|
described_class.post '/batman'
|
15
16
|
described_class.post '/batman'
|
16
17
|
end
|
@@ -20,6 +21,7 @@ module UniaraVirtualParser
|
|
20
21
|
it 'calls hurley_client and send the post' do
|
21
22
|
expect(client).to receive(:post).with('/batman')
|
22
23
|
allow(Hurley::Client).to receive(:new) { client }
|
24
|
+
|
23
25
|
described_class.post '/batman'
|
24
26
|
end
|
25
27
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module UniaraVirtualParser
|
4
|
+
module Services
|
5
|
+
describe Files do
|
6
|
+
describe '.files' do
|
7
|
+
let(:files) { described_class.files 'batman' }
|
8
|
+
before :each do
|
9
|
+
stub_request(:get, "http://virtual.uniara.com.br/alunos/consultas/arquivos/").
|
10
|
+
to_return(:status => 200, body: body, headers: {})
|
11
|
+
end
|
12
|
+
context 'when has 3 types of files' do
|
13
|
+
let(:body) { uniara_virtual_fixture('files_model_1.html').read }
|
14
|
+
it 'fetches the content of uniara virtual and brings the array with all files' do
|
15
|
+
expect(files.length).to eq 3
|
16
|
+
expect(files["COORDENAÇÃO"].first.name).to eq "REGULAMENTO TCC 2015"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
context 'when has 2 types of files' do
|
21
|
+
let(:body) { uniara_virtual_fixture('files_model_2.html').read }
|
22
|
+
it 'fetches the content of uniara virtual and brings the array with all files' do
|
23
|
+
expect(files.length).to eq 8
|
24
|
+
expect(files["COORDENAÇÃO"].first.name).to eq "REGULAMENTO TCC 2015"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -4,10 +4,13 @@ module UniaraVirtualParser
|
|
4
4
|
module Services
|
5
5
|
describe Grades do
|
6
6
|
describe '.grades' do
|
7
|
-
|
7
|
+
let(:grades) { described_class.grades 'batman' }
|
8
|
+
before do
|
8
9
|
stub_request(:get, "http://virtual.uniara.com.br/alunos/consultas/notas/").
|
9
10
|
to_return(:status => 200, body: uniara_virtual_fixture("grades.html").read, headers: {})
|
10
|
-
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'fetches the content of uniara virtual and brings the array with grades' do
|
11
14
|
expect(grades.first.name).to eq "ADMINISTRAÇÃO E ECONOMIA"
|
12
15
|
expect(grades.length).to eq 14
|
13
16
|
end
|
@@ -6,42 +6,34 @@ module UniaraVirtualParser
|
|
6
6
|
let(:body) do
|
7
7
|
{ 'senha' => 'wayne', 'username' => 'bruce' }
|
8
8
|
end
|
9
|
+
let(:response_headers) do
|
10
|
+
{
|
11
|
+
'Set-Cookie' => 'PHPSESSID=64sbv9srm10tove94kn7nutfb2;'\
|
12
|
+
'path=/, UVXS233E3=N; expires=Wed, 20-May-2015 02:32:01 GMT,'\
|
13
|
+
'tipoAcesso=virtual; expires=Thu, 21-May-2015 04:32:01 GMT;'\
|
14
|
+
"path=/; domain=.uniara.com.br, #{logged_session}"\
|
15
|
+
'expires=Wed, 20-May-2015 05:32:01 GMT; path=/'
|
16
|
+
}
|
17
|
+
end
|
18
|
+
|
19
|
+
before do
|
20
|
+
stub_request(:post, 'http://virtual.uniara.com.br/login')
|
21
|
+
.with(body: body)
|
22
|
+
.to_return(status: 200, body: '', headers: response_headers)
|
23
|
+
end
|
9
24
|
|
10
25
|
context 'with a valid login' do
|
11
|
-
let(:
|
12
|
-
{
|
13
|
-
'Set-Cookie' => 'PHPSESSID=64sbv9srm10tove94kn7nutfb2;'\
|
14
|
-
'path=/, UVXS233E3=N; expires=Wed, 20-May-2015 02:32:01 GMT,'\
|
15
|
-
'tipoAcesso=virtual; expires=Thu, 21-May-2015 04:32:01 GMT;'\
|
16
|
-
'path=/; domain=.uniara.com.br, UVXS233E3=S;'\
|
17
|
-
'expires=Wed, 20-May-2015 05:32:01 GMT; path=/'
|
18
|
-
}
|
19
|
-
end
|
26
|
+
let(:logged_session) { 'UVXS233E3=S;' }
|
20
27
|
|
21
28
|
it 'returns the token in the Client' do
|
22
|
-
stub_request(:post, 'http://virtual.uniara.com.br/login')
|
23
|
-
.with(body: body)
|
24
|
-
.to_return(status: 200, body: '', headers: response_headers)
|
25
|
-
|
26
29
|
expect(described_class.login 'bruce', 'wayne').to be
|
27
30
|
end
|
28
31
|
end
|
29
32
|
|
30
33
|
context 'with an invalid login' do
|
31
|
-
let(:
|
32
|
-
{
|
33
|
-
'Set-Cookie' => 'PHPSESSID=64sbv9srm10tove94kn7nutfb2;'\
|
34
|
-
'path=/, UVXS233E3=N; expires=Wed, 20-May-2015 02:32:01 GMT,'\
|
35
|
-
'tipoAcesso=virtual; expires=Thu, 21-May-2015 04:32:01 GMT;'\
|
36
|
-
'path=/; domain=.uniara.com.br,'\
|
37
|
-
'expires=Wed, 20-May-2015 05:32:01 GMT; path=/'
|
38
|
-
}
|
39
|
-
end
|
40
|
-
it 'raises InvalidLogin error' do
|
41
|
-
stub_request(:post, 'http://virtual.uniara.com.br/login')
|
42
|
-
.with(body: body)
|
43
|
-
.to_return(status: 200, body: '', headers: response_headers)
|
34
|
+
let(:logged_session) { '' }
|
44
35
|
|
36
|
+
it 'raises InvalidLogin error' do
|
45
37
|
expect { described_class.login 'bruce', 'wayne' }
|
46
38
|
.to raise_error(UniaraVirtualParser::InvalidLogin)
|
47
39
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: uniara_virtual_parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carlos Ribeiro
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-07-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hurley
|
@@ -111,7 +111,8 @@ dependencies:
|
|
111
111
|
description: A Gem to parse the Uniara Virtual system
|
112
112
|
email:
|
113
113
|
- mail@carlosribeiro.me
|
114
|
-
executables:
|
114
|
+
executables:
|
115
|
+
- rake
|
115
116
|
extensions: []
|
116
117
|
extra_rdoc_files: []
|
117
118
|
files:
|
@@ -125,16 +126,22 @@ files:
|
|
125
126
|
- LICENSE.txt
|
126
127
|
- README.md
|
127
128
|
- Rakefile
|
129
|
+
- bin/rake
|
128
130
|
- lib/uniara_virtual_parser.rb
|
129
131
|
- lib/uniara_virtual_parser/client.rb
|
132
|
+
- lib/uniara_virtual_parser/models/file.rb
|
130
133
|
- lib/uniara_virtual_parser/models/subject.rb
|
134
|
+
- lib/uniara_virtual_parser/services/files.rb
|
131
135
|
- lib/uniara_virtual_parser/services/grades.rb
|
132
136
|
- lib/uniara_virtual_parser/services/login.rb
|
133
137
|
- lib/uniara_virtual_parser/version.rb
|
138
|
+
- spec/fixtures/uniara_virtual/files_model_1.html
|
139
|
+
- spec/fixtures/uniara_virtual/files_model_2.html
|
134
140
|
- spec/fixtures/uniara_virtual/grades.html
|
135
141
|
- spec/spec_helper.rb
|
136
142
|
- spec/support/fixture_helper.rb
|
137
143
|
- spec/uniara_virtual_parser/client_spec.rb
|
144
|
+
- spec/uniara_virtual_parser/services/files_spec.rb
|
138
145
|
- spec/uniara_virtual_parser/services/grades_spec.rb
|
139
146
|
- spec/uniara_virtual_parser/services/login_spec.rb
|
140
147
|
- uniara_virtual_parser.gemspec
|
@@ -163,9 +170,12 @@ signing_key:
|
|
163
170
|
specification_version: 4
|
164
171
|
summary: A Gem to parse the Uniara Virtual system
|
165
172
|
test_files:
|
173
|
+
- spec/fixtures/uniara_virtual/files_model_1.html
|
174
|
+
- spec/fixtures/uniara_virtual/files_model_2.html
|
166
175
|
- spec/fixtures/uniara_virtual/grades.html
|
167
176
|
- spec/spec_helper.rb
|
168
177
|
- spec/support/fixture_helper.rb
|
169
178
|
- spec/uniara_virtual_parser/client_spec.rb
|
179
|
+
- spec/uniara_virtual_parser/services/files_spec.rb
|
170
180
|
- spec/uniara_virtual_parser/services/grades_spec.rb
|
171
181
|
- spec/uniara_virtual_parser/services/login_spec.rb
|