4be19842659d894c8896f1f6f853ac9873427e37
[mirror/dsa-puppet.git] / 3rdparty / modules / archive / spec / unit / puppet / parser / functions / assemble_nexus_url_spec.rb
1 require 'spec_helper'
2
3 describe :assemble_nexus_url do # rubocop:disable RSpec/DescribeSymbol
4   before :all do # rubocop:disable RSpec/BeforeAfterAll
5     Puppet::Parser::Functions.autoloader.loadall
6   end
7
8   let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
9
10   nexus_url = 'http://nexus.local'
11
12   it 'builds url correctly' do
13     expected_url = 'http://nexus.local/service/local/artifact/maven/content?g=com.test&a=test&v=1.0.0&r=binary-staging&p=ear'
14
15     parameters = {
16       'g' => 'com.test',
17       'a' => 'test',
18       'v' => '1.0.0',
19       'r' => 'binary-staging',
20       'p' => 'ear'
21     }
22
23     expect(scope.function_assemble_nexus_url([nexus_url, parameters])).to eq expected_url
24   end
25
26   it 'builds url with version containing "+" sign correctly' do
27     expected_url = 'http://nexus.local/service/local/artifact/maven/content?g=com.test&a=test&v=1.0.0%2B11&r=binary-staging&p=ear'
28
29     parameters = {
30       'g' => 'com.test',
31       'a' => 'test',
32       'v' => '1.0.0+11',
33       'r' => 'binary-staging',
34       'p' => 'ear'
35     }
36
37     expect(scope.function_assemble_nexus_url([nexus_url, parameters])).to eq expected_url
38   end
39 end