sms-uslugi-api 0.5.1 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 76f59025daf73751fae158bcbed5432d42d53cb6
4
- data.tar.gz: 4eff4594b3fddbc63042e6a6cf56536a52a3c51c
3
+ metadata.gz: fa3cc0956533ad7860ee6901b9c33bcecb3a8855
4
+ data.tar.gz: a307d914bdaf629d01870733f84646362652aa60
5
5
  SHA512:
6
- metadata.gz: 62a02153c6a082b8912f3b54d8ac6648fba4c6c964a95d91459197146f9834b2cf8834cac8cf4061cf2b9082b4bea2e2e8838e7406ba1a739493e6f498aa8df1
7
- data.tar.gz: 6aca789d93cb1b2d95e84c5155a6931718c48a2941a673a0b25bb72a4a7216b00a4e618d0e43275c1017befd7e9ee42270617a0361660c18f4dad5f411ca065c
6
+ metadata.gz: 6bf4acd350f17a1f274abfaa9c9a812ea3a71137e86849f29f59e7aed7fd5e80e4e12b256988343473804ccfcb51bc0ea4cc2608cde3e7cfa955ca75ceff0b41
7
+ data.tar.gz: 4afd07b857dec38a879c3d00250a6777958f2ff30952f8ef98c1d7b74209c99571342110b3160d281757e414db99dc031d00628bcbb83abc947130685b8e5063
data/README.md CHANGED
@@ -47,7 +47,26 @@ sms.send 'message in utf8', '81112223333' # отправка SMS получат
47
47
  }
48
48
  ```
49
49
 
50
+ ## Тестирование
51
+
52
+ Для запуска тестов необходимо запустить команду `rspec` в директории с проектом. После выполнения тестов будет сохранен отчёт о проценте покрытия кода тестами в директории `coverage`.
53
+
54
+ ## Разработка
55
+
56
+ Pull-реквесты приветствуются. Чтобы добавить новую функциональность или изменить текущую, требуется:
57
+
58
+ 1. Форкнуть и склонировать репозиторий
59
+ 2. Написать тесты и код
60
+ 3. Проверить работоспособность
61
+ 4. Проверить покрытие кода тестами
62
+ 5. Закомитить и создать pull-реквест
63
+
64
+ ### Примечание
65
+
66
+ Так как сервис не поддерживает тестовый режим, а также для того, чтобы не оставлять реальных данных аккаунта, для написания тестов с использованием VCR необходимо сначала указать при инициализации `SmsUslugiApi` в блоке `before` реальные данные, а затем поправить руками в `./fixtures/vcr_cassettes/*.yml` URL запроса, чтобы он содержал в качестве логина и пароля `demo:demo`, а также все необходимые данные.
67
+
68
+ PS. При смене информации для авторизации все старые тесты не пройдут, это нормальное поведение. После замены логина и пароля обратно на `demo:demo` всё станет нормально.
69
+
50
70
  ## Copyright
51
71
 
52
72
  Copyright (c) 2014 Alexander Maslov. See LICENSE.txt for further details.
53
-
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.1
1
+ 0.6.0
@@ -0,0 +1,45 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://lcab.sms-uslugi.ru/lcabApi/getPhoneInfo.php?login=demo&password=demo&phone=79000000000
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.8.8
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - '*/*'
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx
23
+ Date:
24
+ - Sat, 22 Feb 2014 19:05:48 GMT
25
+ Content-Type:
26
+ - text/json; charset:utf-8;
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ X-Powered-By:
32
+ - PHP/5.5.9
33
+ X-Content-Type-Options:
34
+ - nosniff
35
+ X-Xss-Protection:
36
+ - 1; mode=block;
37
+ body:
38
+ encoding: UTF-8
39
+ string: '{"code":1,"descr":"\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f
40
+ \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e","phone":"79000000000","district":"\u041a\u0440\u0430\u0441\u043d\u043e\u0434\u0430\u0440\u0441\u043a\u0438\u0439
41
+ \u043a\u0440\u0430\u0439","country":"\u0420\u043e\u0441\u0441\u0438\u044f","opsos":"\u0422\u0435\u043b\u0435
42
+ 2 (\u0446\u0438\u0444\u0440\u043e\u0432\u0430\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u044c)"}'
43
+ http_version:
44
+ recorded_at: Sat, 22 Feb 2014 19:05:47 GMT
45
+ recorded_with: VCR 2.6.0
@@ -32,6 +32,12 @@ class SmsUslugiApi
32
32
  })
33
33
  end
34
34
 
35
+ def get_phone_info(phone)
36
+ api_request("getPhoneInfo.php", {
37
+ phone: phone
38
+ })
39
+ end
40
+
35
41
  private
36
42
 
37
43
  def api_request(url, options = {})
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "sms-uslugi-api"
8
- s.version = "0.5.1"
8
+ s.version = "0.6.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Alexander Maslov"]
@@ -25,6 +25,7 @@ Gem::Specification.new do |s|
25
25
  "README.md",
26
26
  "Rakefile",
27
27
  "VERSION",
28
+ "fixtures/vcr_cassettes/getPhoneInfo.yml",
28
29
  "fixtures/vcr_cassettes/info.yml",
29
30
  "fixtures/vcr_cassettes/send.yml",
30
31
  "lib/sms-uslugi-api.rb",
@@ -40,7 +40,23 @@ describe SmsUslugiApi do
40
40
  code: 1,
41
41
  descr: "Успешно обработано",
42
42
  colsmsOfSending: 1,
43
- priceOfSending: '0.50'
43
+ priceOfSending: "0.50"
44
+ )
45
+ end
46
+ end
47
+ end
48
+
49
+ describe "phone number info" do
50
+ it "should reveice phone number info" do
51
+ VCR.use_cassette("getPhoneInfo") do
52
+ phone_info = @sms.get_phone_info("79000000000")
53
+ expect(phone_info).to include(
54
+ code: 1,
55
+ descr: "Операция завершена успешно",
56
+ phone: "79000000000",
57
+ country: "Россия",
58
+ district: "Краснодарский край",
59
+ opsos: "Теле 2 (цифровая подпись)"
44
60
  )
45
61
  end
46
62
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sms-uslugi-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Maslov
@@ -152,6 +152,7 @@ files:
152
152
  - README.md
153
153
  - Rakefile
154
154
  - VERSION
155
+ - fixtures/vcr_cassettes/getPhoneInfo.yml
155
156
  - fixtures/vcr_cassettes/info.yml
156
157
  - fixtures/vcr_cassettes/send.yml
157
158
  - lib/sms-uslugi-api.rb