File: request_spec.rb

package info (click to toggle)
ruby-mongo 2.21.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 14,764 kB
  • sloc: ruby: 108,806; makefile: 5; sh: 2
file content (79 lines) | stat: -rw-r--r-- 2,228 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# frozen_string_literal: true
# rubocop:todo all

require 'spec_helper'

describe Mongo::Auth::Aws::Request do

  describe "#formatted_time" do
    context "when time is provided and frozen" do
      let(:original_time) { Time.at(1592399523).freeze }
      let(:request) do
        described_class.new(access_key_id: 'access_key_id',
          secret_access_key: 'secret_access_key',
          session_token: 'session_token',
          host: 'host',
          server_nonce: 'server_nonce',
          time: original_time
        )
      end

      it 'doesn\'t modify the time instance variable' do
        expect { request.formatted_time }.to_not raise_error
      end

      it 'returns the correct formatted time' do
        expect(request.formatted_time).to eq('20200617T131203Z')
      end
    end

    context "when time is not provided" do
      let(:request) do
        described_class.new(access_key_id: 'access_key_id',
          secret_access_key: 'secret_access_key',
          session_token: 'session_token',
          host: 'host',
          server_nonce: 'server_nonce'
        )
      end

      it 'doesn\'t raise an error on formatted_time' do
        expect { request.formatted_time }.to_not raise_error
      end
    end
  end

  describe "#signature" do
    context "when time is provided and frozen" do
      let(:original_time) { Time.at(1592399523).freeze }
      let(:request) do
        described_class.new(access_key_id: 'access_key_id',
          secret_access_key: 'secret_access_key',
          session_token: 'session_token',
          host: 'host',
          server_nonce: 'server_nonce',
          time: original_time
        )
      end

      it 'doesn\'t raise error on signature' do
        expect { request.signature }.to_not raise_error
      end
    end

    context "when time is not provided" do
      let(:request) do
        described_class.new(access_key_id: 'access_key_id',
          secret_access_key: 'secret_access_key',
          session_token: 'session_token',
          host: 'host',
          server_nonce: 'server_nonce'
        )
      end

      it 'doesn\'t raise error on signature' do
        expect { request.signature }.to_not raise_error
      end
    end
  end
end