glogin 0.16.4 → 0.16.5
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/.0pdd.yml +1 -1
- data/.github/workflows/actionlint.yml +2 -2
- data/.github/workflows/codecov.yml +5 -5
- data/.github/workflows/copyrights.yml +3 -3
- data/.github/workflows/markdown-lint.yml +2 -2
- data/.github/workflows/pdd.yml +3 -3
- data/.github/workflows/rake.yml +3 -3
- data/.github/workflows/xcop.yml +3 -3
- data/.rubocop.yml +6 -1
- data/.rultor.yml +2 -2
- data/.simplecov +1 -1
- data/Gemfile +9 -7
- data/LICENSE.txt +1 -1
- data/Rakefile +1 -1
- data/glogin.gemspec +1 -1
- data/lib/glogin/auth.rb +2 -2
- data/lib/glogin/codec.rb +5 -5
- data/lib/glogin/cookie.rb +2 -2
- data/lib/glogin/version.rb +3 -3
- data/lib/glogin.rb +2 -2
- data/logo.svg +1 -1
- data/test/glogin/test_auth.rb +7 -7
- data/test/glogin/test_codec.rb +11 -3
- data/test/glogin/test_cookie.rb +9 -9
- data/test/test__helper.rb +1 -1
- data/test/test_glogin.rb +2 -2
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e7ee2b3588faa0297950d9a0c6d7b6df1671fd05220fdcda8118480a4a117d46
|
4
|
+
data.tar.gz: 9deff64ac0bea305d078259160bfeac8aaff6b7ab09a2a8695843122b10a10c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9bd7e92b91df017728c8a35d7aada795206090e69aa0547ab0f7f59e54ba189da7797c827a111c8f64a1274744bfff4a8bbd4d0371f6fa93096ea61925ad9d3f
|
7
|
+
data.tar.gz: 0c8b5c829294f6ac683c660bd54fbe2a485bffbb76daf70096d4c3772c5c380161e3da9a011a403aa7f3a1348b3d9c3b17fa88149e114f8a276bbdfa8fb208e6
|
data/.0pdd.yml
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2017-
|
1
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -28,7 +28,7 @@ name: actionlint
|
|
28
28
|
- master
|
29
29
|
jobs:
|
30
30
|
actionlint:
|
31
|
-
runs-on: ubuntu-
|
31
|
+
runs-on: ubuntu-24.04
|
32
32
|
steps:
|
33
33
|
- uses: actions/checkout@v4
|
34
34
|
- name: Download actionlint
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2017-
|
1
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -19,13 +19,13 @@
|
|
19
19
|
# SOFTWARE.
|
20
20
|
---
|
21
21
|
name: codecov
|
22
|
-
on:
|
22
|
+
'on':
|
23
23
|
push:
|
24
24
|
branches:
|
25
25
|
- master
|
26
26
|
jobs:
|
27
27
|
codecov:
|
28
|
-
runs-on: ubuntu-
|
28
|
+
runs-on: ubuntu-24.04
|
29
29
|
steps:
|
30
30
|
- uses: actions/checkout@v4
|
31
31
|
- uses: ruby/setup-ruby@v1
|
@@ -33,8 +33,8 @@ jobs:
|
|
33
33
|
ruby-version: 2.7
|
34
34
|
- run: bundle update
|
35
35
|
- run: bundle exec rake
|
36
|
-
- uses: codecov/codecov-action@
|
36
|
+
- uses: codecov/codecov-action@v5
|
37
37
|
with:
|
38
38
|
token: ${{ secrets.CODECOV_TOKEN }}
|
39
|
-
|
39
|
+
files: coverage/.resultset.json
|
40
40
|
fail_ci_if_error: true
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2017-
|
1
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -24,7 +24,7 @@ name: copyrights
|
|
24
24
|
pull_request:
|
25
25
|
jobs:
|
26
26
|
copyrights:
|
27
|
-
runs-on: ubuntu-
|
27
|
+
runs-on: ubuntu-24.04
|
28
28
|
steps:
|
29
29
|
- uses: actions/checkout@v4
|
30
|
-
- uses: yegor256/copyrights-action@0.0.
|
30
|
+
- uses: yegor256/copyrights-action@0.0.8
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2017-
|
1
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -32,7 +32,7 @@ concurrency:
|
|
32
32
|
cancel-in-progress: true
|
33
33
|
jobs:
|
34
34
|
markdown-lint:
|
35
|
-
runs-on: ubuntu-
|
35
|
+
runs-on: ubuntu-24.04
|
36
36
|
steps:
|
37
37
|
- uses: actions/checkout@v4
|
38
38
|
- uses: articulate/actions-markdownlint@v1
|
data/.github/workflows/pdd.yml
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2017-
|
1
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -19,7 +19,7 @@
|
|
19
19
|
# SOFTWARE.
|
20
20
|
---
|
21
21
|
name: pdd
|
22
|
-
on:
|
22
|
+
'on':
|
23
23
|
push:
|
24
24
|
branches:
|
25
25
|
- master
|
@@ -28,7 +28,7 @@ on:
|
|
28
28
|
- master
|
29
29
|
jobs:
|
30
30
|
pdd:
|
31
|
-
runs-on: ubuntu-
|
31
|
+
runs-on: ubuntu-24.04
|
32
32
|
steps:
|
33
33
|
- uses: actions/checkout@v4
|
34
34
|
- uses: volodya-lombrozo/pdd-action@master
|
data/.github/workflows/rake.yml
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2017-
|
1
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -19,7 +19,7 @@
|
|
19
19
|
# SOFTWARE.
|
20
20
|
---
|
21
21
|
name: rake
|
22
|
-
on:
|
22
|
+
'on':
|
23
23
|
push:
|
24
24
|
branches:
|
25
25
|
- master
|
@@ -31,7 +31,7 @@ jobs:
|
|
31
31
|
name: test
|
32
32
|
strategy:
|
33
33
|
matrix:
|
34
|
-
os: [ubuntu-
|
34
|
+
os: [ubuntu-24.04, macos-15]
|
35
35
|
ruby: [2.7, 3.3]
|
36
36
|
runs-on: ${{ matrix.os }}
|
37
37
|
steps:
|
data/.github/workflows/xcop.yml
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2017-
|
1
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -19,12 +19,12 @@
|
|
19
19
|
# SOFTWARE.
|
20
20
|
---
|
21
21
|
name: xcop
|
22
|
-
on:
|
22
|
+
'on':
|
23
23
|
push:
|
24
24
|
pull_request:
|
25
25
|
jobs:
|
26
26
|
xcop:
|
27
|
-
runs-on: ubuntu-
|
27
|
+
runs-on: ubuntu-24.04
|
28
28
|
steps:
|
29
29
|
- uses: actions/checkout@v4
|
30
30
|
- uses: g4s8/xcop-action@master
|
data/.rubocop.yml
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2017-
|
1
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -26,7 +26,12 @@ AllCops:
|
|
26
26
|
TargetRubyVersion: 2.3
|
27
27
|
SuggestExtensions: false
|
28
28
|
NewCops: enable
|
29
|
+
require:
|
30
|
+
- rubocop-minitest
|
31
|
+
- rubocop-performance
|
29
32
|
|
33
|
+
Minitest/EmptyLineBeforeAssertionMethods:
|
34
|
+
Enabled: false
|
30
35
|
Gemspec/RequiredRubyVersion:
|
31
36
|
Enabled: false
|
32
37
|
Metrics/MethodLength:
|
data/.rultor.yml
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2017-
|
1
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -19,7 +19,7 @@
|
|
19
19
|
# SOFTWARE.
|
20
20
|
---
|
21
21
|
docker:
|
22
|
-
image: yegor256/rultor-
|
22
|
+
image: yegor256/rultor-ruby
|
23
23
|
assets:
|
24
24
|
rubygems.yml: yegor256/home#assets/rubygems.yml
|
25
25
|
install: |
|
data/.simplecov
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
#
|
4
|
-
# Copyright (c) 2017-
|
4
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
5
5
|
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
# of this software and associated documentation files (the 'Software'), to deal
|
data/Gemfile
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
#
|
4
|
-
# Copyright (c) 2017-
|
4
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
5
5
|
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -24,11 +24,13 @@
|
|
24
24
|
source 'https://rubygems.org'
|
25
25
|
gemspec
|
26
26
|
|
27
|
-
gem 'minitest', '5.
|
27
|
+
gem 'minitest', '5.25.2', require: false
|
28
28
|
gem 'rake', '13.2.1', require: false
|
29
|
-
gem 'rdoc', '6.
|
30
|
-
gem 'rspec-rails', '
|
31
|
-
gem 'rubocop', '1.
|
32
|
-
gem 'rubocop-
|
29
|
+
gem 'rdoc', '6.11.0', require: false
|
30
|
+
gem 'rspec-rails', '7.1.0', require: false
|
31
|
+
gem 'rubocop', '1.71.0', require: false
|
32
|
+
gem 'rubocop-minitest', '0.36.0', require: false
|
33
|
+
gem 'rubocop-performance', '1.23.1', require: false
|
34
|
+
gem 'rubocop-rspec', '3.4.0', require: false
|
33
35
|
gem 'simplecov', '0.22.0', require: false
|
34
|
-
gem 'webmock', '3.
|
36
|
+
gem 'webmock', '3.24.0', require: false
|
data/LICENSE.txt
CHANGED
data/Rakefile
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
#
|
4
|
-
# Copyright (c) 2017-
|
4
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
5
5
|
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
# of this software and associated documentation files (the 'Software'), to deal
|
data/glogin.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# Copyright (c) 2017-
|
3
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
4
4
|
#
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
# of this software and associated documentation files (the 'Software'), to deal
|
data/lib/glogin/auth.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
#
|
4
|
-
# Copyright (c) 2017-
|
4
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
5
5
|
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -28,7 +28,7 @@ require 'cgi'
|
|
28
28
|
|
29
29
|
# GLogin main module.
|
30
30
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
31
|
-
# Copyright:: Copyright (c) 2017-
|
31
|
+
# Copyright:: Copyright (c) 2017-2025 Yegor Bugayenko
|
32
32
|
# License:: MIT
|
33
33
|
module GLogin
|
34
34
|
#
|
data/lib/glogin/codec.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
#
|
4
|
-
# Copyright (c) 2017-
|
4
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
5
5
|
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -29,7 +29,7 @@ require 'base64'
|
|
29
29
|
|
30
30
|
# Codec.
|
31
31
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
32
|
-
# Copyright:: Copyright (c) 2017-
|
32
|
+
# Copyright:: Copyright (c) 2017-2025 Yegor Bugayenko
|
33
33
|
# License:: MIT
|
34
34
|
module GLogin
|
35
35
|
# The codec
|
@@ -55,9 +55,9 @@ module GLogin
|
|
55
55
|
cpr.decrypt
|
56
56
|
cpr.key = digest(cpr.key_len)
|
57
57
|
if @base64
|
58
|
-
raise DecodingError,
|
58
|
+
raise DecodingError, "This is not Base64: #{text.inspect}" unless %r{^[a-zA-Z0-9\\+/=]+$}.match?(text)
|
59
59
|
else
|
60
|
-
raise DecodingError,
|
60
|
+
raise DecodingError, "This is not Base58: #{text.inspect}" unless /^[a-km-zA-HJ-NP-Z1-9]+$/.match?(text)
|
61
61
|
end
|
62
62
|
plain = @base64 ? Base64.decode64(text) : Base58.base58_to_binary(text)
|
63
63
|
raise DecodingError if plain.empty?
|
@@ -84,7 +84,7 @@ module GLogin
|
|
84
84
|
salt = SecureRandom.base64(Random.rand(8..32))
|
85
85
|
encrypted = cpr.update("#{salt} #{text}")
|
86
86
|
encrypted << cpr.final
|
87
|
-
@base64 ? Base64.encode64(encrypted).
|
87
|
+
@base64 ? Base64.encode64(encrypted).delete("\n") : Base58.binary_to_base58(encrypted)
|
88
88
|
end
|
89
89
|
end
|
90
90
|
|
data/lib/glogin/cookie.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
#
|
4
|
-
# Copyright (c) 2017-
|
4
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
5
5
|
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -28,7 +28,7 @@ require_relative 'codec'
|
|
28
28
|
|
29
29
|
# GLogin main module.
|
30
30
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
31
|
-
# Copyright:: Copyright (c) 2017-
|
31
|
+
# Copyright:: Copyright (c) 2017-2025 Yegor Bugayenko
|
32
32
|
# License:: MIT
|
33
33
|
module GLogin
|
34
34
|
# Split symbol inside the cookie text
|
data/lib/glogin/version.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
#
|
4
|
-
# Copyright (c) 2017-
|
4
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
5
5
|
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -23,8 +23,8 @@
|
|
23
23
|
|
24
24
|
# GLogin main module.
|
25
25
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
26
|
-
# Copyright:: Copyright (c) 2017-
|
26
|
+
# Copyright:: Copyright (c) 2017-2025 Yegor Bugayenko
|
27
27
|
# License:: MIT
|
28
28
|
module GLogin
|
29
|
-
VERSION = '0.16.
|
29
|
+
VERSION = '0.16.5'
|
30
30
|
end
|
data/lib/glogin.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
#
|
4
|
-
# Copyright (c) 2017-
|
4
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
5
5
|
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -28,7 +28,7 @@ require_relative 'glogin/cookie'
|
|
28
28
|
|
29
29
|
# GLogin main module.
|
30
30
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
31
|
-
# Copyright:: Copyright (c) 2017-
|
31
|
+
# Copyright:: Copyright (c) 2017-2025 Yegor Bugayenko
|
32
32
|
# License:: MIT
|
33
33
|
module GLogin
|
34
34
|
end
|
data/logo.svg
CHANGED
data/test/glogin/test_auth.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
#
|
4
|
-
# Copyright (c) 2017-
|
4
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
5
5
|
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -62,21 +62,21 @@ class TestAuth < Minitest::Test
|
|
62
62
|
def test_failed_authentication
|
63
63
|
auth = GLogin::Auth.new('1234', '4433', 'https://example.org')
|
64
64
|
stub_request(:post, 'https://github.com/login/oauth/access_token').to_return(status: 401)
|
65
|
-
e = assert_raises { auth.user('437849732894732') }
|
66
|
-
|
65
|
+
e = assert_raises(StandardError) { auth.user('437849732894732') }
|
66
|
+
assert_includes(e.message, 'with code "43784***')
|
67
67
|
end
|
68
68
|
|
69
69
|
def test_broken_json
|
70
70
|
auth = GLogin::Auth.new('1234', '4433', 'https://example.org')
|
71
71
|
stub_request(:post, 'https://github.com/login/oauth/access_token').to_return(body: 'Hello!')
|
72
|
-
e = assert_raises { auth.user('47839893') }
|
73
|
-
|
72
|
+
e = assert_raises(StandardError) { auth.user('47839893') }
|
73
|
+
assert_includes(e.message, 'unexpected token', e)
|
74
74
|
end
|
75
75
|
|
76
76
|
def test_no_token_in_json
|
77
77
|
auth = GLogin::Auth.new('1234', '4433', 'https://example.org')
|
78
78
|
stub_request(:post, 'https://github.com/login/oauth/access_token').to_return(body: '{}')
|
79
|
-
e = assert_raises { auth.user('47839893') }
|
80
|
-
|
79
|
+
e = assert_raises(StandardError) { auth.user('47839893') }
|
80
|
+
assert_includes(e.message, 'There is no \'access_token\'', e)
|
81
81
|
end
|
82
82
|
end
|
data/test/glogin/test_codec.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
#
|
4
|
-
# Copyright (c) 2017-
|
4
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
5
5
|
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -48,10 +48,18 @@ class TestCodec < Minitest::Test
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
+
def test_decrypts_broken_base58
|
52
|
+
%w[abc0 abcO abcl abcI].each do |t|
|
53
|
+
assert_raises GLogin::Codec::DecodingError do
|
54
|
+
GLogin::Codec.new('some-key').decrypt(t)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
51
59
|
def test_encrypts_into_plain_string
|
52
60
|
text = GLogin::Codec.new('6hFGrte5LLmwi').encrypt("K&j\n\n\tuIpwp00{]=")
|
53
|
-
|
54
|
-
|
61
|
+
assert_match(/^[a-zA-Z0-9]+$/, text, text)
|
62
|
+
refute_includes(text, "\n", text)
|
55
63
|
end
|
56
64
|
|
57
65
|
def test_encrypts_using_base64
|
data/test/glogin/test_cookie.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
#
|
4
|
-
# Copyright (c) 2017-
|
4
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
5
5
|
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -38,8 +38,8 @@ class TestCookie < Minitest::Test
|
|
38
38
|
).to_s,
|
39
39
|
secret
|
40
40
|
).to_user
|
41
|
-
assert_equal(user['login']
|
42
|
-
assert_equal(
|
41
|
+
assert_equal('yegor256', user['login'])
|
42
|
+
assert_equal('https://avatars1.githubusercontent.com/u/526301', user['avatar_url'])
|
43
43
|
end
|
44
44
|
|
45
45
|
def test_encrypts_and_decrypts_with_context
|
@@ -54,18 +54,18 @@ class TestCookie < Minitest::Test
|
|
54
54
|
secret,
|
55
55
|
context
|
56
56
|
).to_user
|
57
|
-
assert_equal(user['id']
|
58
|
-
assert_equal(user['login']
|
59
|
-
assert_equal(user['avatar_url']
|
57
|
+
assert_equal('123', user['id'])
|
58
|
+
assert_equal('jeffrey', user['login'])
|
59
|
+
assert_equal('#', user['avatar_url'])
|
60
60
|
end
|
61
61
|
|
62
62
|
def test_decrypts_in_test_mode
|
63
63
|
user = GLogin::Cookie::Closed.new(
|
64
64
|
'123|test|http://example.com', ''
|
65
65
|
).to_user
|
66
|
-
assert_equal(user['id']
|
67
|
-
assert_equal(user['login']
|
68
|
-
assert_equal(
|
66
|
+
assert_equal('123', user['id'])
|
67
|
+
assert_equal('test', user['login'])
|
68
|
+
assert_equal('http://example.com', user['avatar_url'])
|
69
69
|
end
|
70
70
|
|
71
71
|
def test_decrypts_in_test_mode_with_context
|
data/test/test__helper.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
#
|
4
|
-
# Copyright (c) 2017-
|
4
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
5
5
|
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
# of this software and associated documentation files (the 'Software'), to deal
|
data/test/test_glogin.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
#
|
4
|
-
# Copyright (c) 2017-
|
4
|
+
# Copyright (c) 2017-2025 Yegor Bugayenko
|
5
5
|
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
7
|
# of this software and associated documentation files (the 'Software'), to deal
|
@@ -26,7 +26,7 @@ require_relative '../lib/glogin'
|
|
26
26
|
|
27
27
|
# GLogin main module test.
|
28
28
|
# Author:: Yegor Bugayenko (yegor256@gmail.com)
|
29
|
-
# Copyright:: Copyright (c) 2017-
|
29
|
+
# Copyright:: Copyright (c) 2017-2025 Yegor Bugayenko
|
30
30
|
# License:: MIT
|
31
31
|
class TestGLogin < Minitest::Test
|
32
32
|
def test_basic
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glogin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.16.
|
4
|
+
version: 0.16.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yegor Bugayenko
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: base58
|
@@ -82,7 +82,7 @@ licenses:
|
|
82
82
|
- MIT
|
83
83
|
metadata:
|
84
84
|
rubygems_mfa_required: 'true'
|
85
|
-
post_install_message:
|
85
|
+
post_install_message:
|
86
86
|
rdoc_options:
|
87
87
|
- "--charset=UTF-8"
|
88
88
|
require_paths:
|
@@ -99,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
99
99
|
version: '0'
|
100
100
|
requirements: []
|
101
101
|
rubygems_version: 3.4.10
|
102
|
-
signing_key:
|
102
|
+
signing_key:
|
103
103
|
specification_version: 4
|
104
104
|
summary: Login/logout via GitHub OAuth for your web app
|
105
105
|
test_files: []
|