mslm 2.2.3 → 2.2.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8cccdbad17b53bedc43070d54844f2198030afefae8231a3eb6d0dd5c24dad7a
4
- data.tar.gz: 96e572829059bfd3ff15ce644167f914efd6a9df7f09b52f59d6246329c76e2e
3
+ metadata.gz: f4c36e8dda6b4d3606e0108e0c87b5dbba260a9a032daf246b6d4468d9ef3a12
4
+ data.tar.gz: 150a1b6af2365d14b05d4a5e7eb7d76a9b3d6cdb36becfa8172019ba3964b982
5
5
  SHA512:
6
- metadata.gz: d2f66fb5e102b43e365939cbd8315a5585bfc244d070be5c50a53ef674d965bb2ecbf29adaef6c6b2f89f19932a27289c72875044f48a17013a2b10f54b4064d
7
- data.tar.gz: 3bc910780cd9a5560de7cc63f6190055c1dbfebd67b6d580ad5f8a3c1f2d81be3b9c58c66025ef490d60b5bd30a2bfda8b80b4933020dbd39b32388b93337da3
6
+ metadata.gz: 8b56b440b888ac432d67a555f328f7453f831c2974df0ed8178c8aac9fded1cd047d47c755f40357fe58c7704950107404da6af1a07aac160d94d460da04c42d
7
+ data.tar.gz: e4ff21bcda23fdeadff7fa3da75b187024e5d9675d8273687dcc6d5f1f9344d2f942f572283b20e67a977821dfae5f7141b6e036dacfa6816773ac563d7a52a6
data/.gitignore ADDED
File without changes
data/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+
5
+ # Specify your gem's dependencies in mslm.gemspec
6
+ gemspec
7
+
8
+ gem "rake", "~> 13.0"
data/bin/console ADDED
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require "bundler/setup"
5
+ require "mslm"
6
+
7
+ # You can add fixtures and/or initialization code here to make experimenting
8
+ # with your gem easier. You can also use a different console, if you like.
9
+
10
+ require "irb"
11
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
data/lib/mslm/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mslm
2
- VERSION = "2.2.3"
2
+ VERSION = "2.2.4"
3
3
  end
data/mslm.gemspec CHANGED
@@ -16,19 +16,19 @@ Gem::Specification.new do |spec|
16
16
  spec.metadata["source_code_uri"] = "https://github.com/mslmio/sdk-ruby"
17
17
  spec.metadata["changelog_uri"] = "https://github.com/mslmio/sdk-ruby/blob/main/CHANGELOG.md"
18
18
 
19
- spec.files = Dir.chdir(__dir__) do
20
- files = `git ls-files -z`.split("\x0").reject do |f|
21
- (File.expand_path(f) == __FILE__) ||
22
- f.start_with?(*%w[bin/ test/ spec/ features/ .git appveyor Gemfile])
19
+ EXCLUDED_FILES = [
20
+ "lib/mslm/otp_resp.rb",
21
+ "lib/mslm/otp_send_req.rb",
22
+ "lib/mslm/otp_token_verify_req.rb",
23
+ "lib/mslm/single_verify_resp.rb",
24
+ "lib/mslm/single_verify_resp_mx.rb"
25
+ ]
26
+
27
+
28
+ spec.files = Dir.chdir(__dir__) do
29
+ all_files = `git ls-files -z`.split("\x0")
30
+ all_files.reject { |file| EXCLUDED_FILES.include?(file) }
23
31
  end
24
- files - [
25
- "lib/mslm/otp_resp.rb",
26
- "lib/mslm/otp_send_req.rb",
27
- "lib/mslm/otp_token_verify_req.rb",
28
- "lib/mslm/single_verify_resp.rb",
29
- "lib/mslm/single_verify_resp_mx.rb"
30
- ]
31
- end
32
32
 
33
33
  spec.bindir = "exe"
34
34
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
@@ -0,0 +1,82 @@
1
+ require 'minitest/autorun'
2
+ require_relative '../lib/mslm'
3
+
4
+ class TestEmailVerification < Minitest::Test
5
+ TEST_EMAIL_REAL = 'support@mslm.io'
6
+ TEST_EMAIL_FAKE = 'fakefakefake@mslm.io'
7
+ TEST_EMAIL_DISPOSABLE = 'asdfasdf@temp-mail.org'
8
+
9
+ def setup
10
+ @api_key = 'api_key'
11
+ @email_verify = Mslm::Mslm.new(@api_key)
12
+ end
13
+
14
+ def test_email_verify_sv_fake
15
+ resp, _ = @email_verify.verify_email(TEST_EMAIL_REAL)
16
+ assert_email_verify_sv_REAL(resp)
17
+ end
18
+
19
+ def assert_email_verify_sv_REAL(resp)
20
+ assert_equal(resp.email, TEST_EMAIL_REAL)
21
+ assert_equal(resp.username, 'support')
22
+ assert_equal(resp.domain, 'mslm.io')
23
+ assert_equal(resp.malformed, false)
24
+ assert_equal(resp.suggestion, '')
25
+ assert_equal(resp.status, 'real')
26
+ assert_equal(resp.has_mailbox, true)
27
+ assert_equal(resp.accept_all, false)
28
+ assert_equal(resp.disposable, false)
29
+ assert_equal(resp.free, false)
30
+ assert_equal(resp.role, true)
31
+ assert_equal(resp.mx, [[{"host"=>"mx.yandex.net.", "pref"=>10}]])
32
+ end
33
+
34
+ def test_email_verify_sv_fake
35
+ resp, _ = @email_verify.verify_email(TEST_EMAIL_FAKE)
36
+ assert_email_verify_sv_fake(resp)
37
+ end
38
+
39
+ def assert_email_verify_sv_fake(resp)
40
+ assert_equal(resp.email, TEST_EMAIL_FAKE)
41
+ assert_equal(resp.username, 'fakefakefake')
42
+ assert_equal(resp.domain, 'mslm.io')
43
+ assert_equal(resp.malformed, false)
44
+ assert_equal(resp.suggestion, '')
45
+ assert_equal(resp.status, 'fake')
46
+ assert_equal(resp.has_mailbox, false)
47
+ assert_equal(resp.accept_all, false)
48
+ assert_equal(resp.disposable, false)
49
+ assert_equal(resp.free, false)
50
+ assert_equal(resp.role, false)
51
+ assert_equal(resp.mx, [
52
+ {"host"=>"ASPMX.L.GOOGLE.COM.", "pref"=>1},
53
+ {"host"=>"ALT2.ASPMX.L.GOOGLE.COM.", "pref"=>5},
54
+ {"host"=>"ALT1.ASPMX.L.GOOGLE.COM.", "pref"=>5},
55
+ {"host"=>"ALT4.ASPMX.L.GOOGLE.COM.", "pref"=>10},
56
+ {"host"=>"ALT3.ASPMX.L.GOOGLE.COM.", "pref"=>10}
57
+ ])
58
+ end
59
+
60
+ def test_email_verify_sv_disposable
61
+ resp, _ = @email_verify.verify_email(TEST_EMAIL_DISPOSABLE)
62
+ assert_email_verify_sv_disposable(resp)
63
+ end
64
+
65
+ def assert_email_verify_sv_disposable(resp)
66
+ assert_equal(resp.email, TEST_EMAIL_DISPOSABLE)
67
+ assert_equal(resp.username, 'asdfasdf')
68
+ assert_equal(resp.domain, 'temp-mail.org')
69
+ assert_equal(resp.malformed, false)
70
+ assert_equal(resp.suggestion, '')
71
+ assert_equal(resp.status, 'disposable')
72
+ assert_equal(resp.has_mailbox, true)
73
+ assert_equal(resp.accept_all, true)
74
+ assert_equal(resp.disposable, true)
75
+ assert_equal(resp.free, true)
76
+ assert_equal(resp.role, false)
77
+ assert_equal(resp.mx, [{"host"=>"mx.yandex.net.", "pref"=>10}])
78
+ end
79
+ end
80
+
81
+
82
+
@@ -0,0 +1,25 @@
1
+ require 'minitest/autorun'
2
+ require_relative '../lib/mslm'
3
+
4
+ class TestOtp < Minitest::Test
5
+
6
+ def setup
7
+ @api_key = 'api_key'
8
+ @otp = Mslm::Mslm.new(@api_key)
9
+ @phone_number = '+923214444444'
10
+ end
11
+
12
+ def test_otp_send_success
13
+ otp_send_req = {
14
+ "phone" => @phone_number,
15
+ "tmpl_sms" => "Your verification code is {token}",
16
+ "token_len" => 4,
17
+ "expire_seconds" => 300,
18
+ }
19
+
20
+ otp_send_resp = @otp.send_otp(otp_send_req)
21
+
22
+ assert_equal(1000, otp_send_resp.code)
23
+ assert_equal("Successfully sent SMS.", otp_send_resp.msg)
24
+ end
25
+ end
@@ -0,0 +1,27 @@
1
+ require 'minitest/autorun'
2
+ require_relative '../lib/mslm'
3
+
4
+ class TestOtp < Minitest::Test
5
+
6
+ def setup
7
+ @api_key = 'api_key'
8
+ @otp = Mslm::Mslm.new(@api_key)
9
+ @phone_number = '+923214444444'
10
+ end
11
+
12
+ def test_otp_verify_success
13
+ otp_code = '9842'
14
+
15
+ otp_verify_req = {
16
+ "phone" => @phone_number,
17
+ "token" => otp_code,
18
+ "consume" => true,
19
+ }
20
+
21
+ otp_verify_resp = @otp.verify_otp(otp_verify_req)
22
+
23
+ assert_equal(1000, otp_verify_resp.code)
24
+ assert_equal("Successfully verified.", otp_verify_resp.msg)
25
+ end
26
+
27
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mslm
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.3
4
+ version: 2.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sahal Abdullah
@@ -19,11 +19,15 @@ executables: []
19
19
  extensions: []
20
20
  extra_rdoc_files: []
21
21
  files:
22
+ - ".gitignore"
22
23
  - CHANGELOG.md
23
24
  - CONTRIBUTING.md
25
+ - Gemfile
24
26
  - LICENSE
25
27
  - README.md
26
28
  - Rakefile
29
+ - bin/console
30
+ - bin/setup
27
31
  - lib/mslm.rb
28
32
  - lib/mslm/email_verify.rb
29
33
  - lib/mslm/lib.rb
@@ -32,6 +36,9 @@ files:
32
36
  - lib/mslm/req_opts.rb
33
37
  - lib/mslm/version.rb
34
38
  - mslm.gemspec
39
+ - test/email_verify_test.rb
40
+ - test/otp_send_test.rb
41
+ - test/otp_verify_test.rb
35
42
  homepage: https://github.com/mslmio/sdk-ruby
36
43
  licenses:
37
44
  - MIT