diff options
| -rw-r--r-- | lib/user.rb | 25 | ||||
| -rw-r--r-- | spec/user_spec.rb | 52 |
2 files changed, 0 insertions, 77 deletions
diff --git a/lib/user.rb b/lib/user.rb deleted file mode 100644 index 6078083..0000000 --- a/lib/user.rb +++ /dev/null @@ -1,25 +0,0 @@ -require_relative 'gitlab_net' - -class User - ANONYMOUS_USER = 'Anonymous'.freeze - - def initialize(key_id, audit_usernames: false) - @key_id = key_id - @audit_usernames = audit_usernames - end - - def username - @username ||= begin - user = GitlabNet.new.discover(key_id) - user ? "@#{user['username']}" : ANONYMOUS_USER - end - end - - def log_username - audit_usernames ? username : "user with key #{key_id}" - end - - private - - attr_reader :key_id, :audit_usernames -end diff --git a/spec/user_spec.rb b/spec/user_spec.rb deleted file mode 100644 index 5677aec..0000000 --- a/spec/user_spec.rb +++ /dev/null @@ -1,52 +0,0 @@ -require_relative 'spec_helper' -require_relative '../lib/user' - -describe User, vcr: true do - let(:key_id) { 'key-1' } - let(:username) { 'testuser' } - let(:api) { double(GitlabNet) } - - let(:discover_payload) { { 'username' => username } } - let(:audit_usernames) { nil } - - before do - allow(GitlabNet).to receive(:new).and_return(api) - allow(api).to receive(:discover).with(key_id).and_return(discover_payload) - end - - subject { described_class.new(key_id, audit_usernames: audit_usernames) } - - describe '#username' do - context 'with a valid user' do - it "returns '@testuser'" do - expect(subject.username).to eql '@testuser' - end - end - - context 'without a valid user' do - let(:discover_payload) { nil } - - it "returns 'Anonymous'" do - expect(subject.username).to eql 'Anonymous' - end - end - end - - describe '#log_username' do - context 'when audit_usernames is true' do - let(:audit_usernames) { true } - - it "returns 'testuser'" do - expect(subject.log_username).to eql '@testuser' - end - end - - context 'when audit_usernames is false' do - let(:audit_usernames) { false } - - it "returns 'user with key key-1'" do - expect(subject.log_username).to eql 'user with key key-1' - end - end - end -end |
