summaryrefslogtreecommitdiff
path: root/spec/gitlab_lfs_authentication_spec.rb
blob: 9e93a07daf124a22b972f2d20f4823cedd829f00 (plain)
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
require 'spec_helper'
require 'gitlab_lfs_authentication'
require 'json'

describe GitlabLfsAuthentication do
  subject do
    GitlabLfsAuthentication.build_from_json(
      JSON.generate(
        {
          username: 'dzaporozhets',
          lfs_token: 'wsnys8Zm8Jn7zyhHTAAK',
          repository_http_path: 'http://gitlab.dev/repo'
        }
      )
    )
  end

  describe '#build_from_json' do
    it { subject.username.should == 'dzaporozhets' }
    it { subject.lfs_token.should == 'wsnys8Zm8Jn7zyhHTAAK' }
    it { subject.repository_http_path.should == 'http://gitlab.dev/repo' }
  end

  describe '#authentication_payload' do
    result = "{\"header\":{\"Authorization\":\"Basic ZHphcG9yb3poZXRzOndzbnlzOFptOEpuN3p5aEhUQUFL\"},\"href\":\"http://gitlab.dev/repo/info/lfs/\"}"

    it { subject.authentication_payload.should eq(result) }

    it 'should be a proper JSON' do
      payload = subject.authentication_payload
      json_payload = JSON.parse(payload)

      json_payload['header']['Authorization'].should eq('Basic ZHphcG9yb3poZXRzOndzbnlzOFptOEpuN3p5aEhUQUFL')
      json_payload['href'].should eq('http://gitlab.dev/repo/info/lfs/')
    end
  end
end