|
17 | 17 | require 'spec_helper' |
18 | 18 | require 'component_helper' |
19 | 19 | require 'java_buildpack/container/java_main' |
| 20 | +require 'java_buildpack/util/qualify_path' |
20 | 21 |
|
21 | 22 | describe JavaBuildpack::Container::JavaMain do |
| 23 | + include JavaBuildpack::Util |
22 | 24 | include_context 'component_helper' |
23 | 25 |
|
24 | 26 | shared_context 'explicit_main_class' do |
|
57 | 59 |
|
58 | 60 | it 'returns command' do |
59 | 61 |
|
60 | | - expect(component.release).to eq("#{java_home.root}/bin/java -cp $PWD/.:$PWD/.additional_libs/test-jar-1.jar:" \ |
61 | | - "$PWD/.additional_libs/test-jar-2.jar #{java_opts_str} " \ |
62 | | - 'test-java-main-class') |
| 62 | + expect(component.release).to eq("#{qualify_path java_home.root, droplet.root}/bin/java -cp $PWD/.:$PWD/." \ |
| 63 | + 'additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar' \ |
| 64 | + " #{java_opts_str} test-java-main-class") |
63 | 65 | end |
64 | 66 | end |
65 | 67 |
|
66 | 68 | it 'returns additional classpath entries when Class-Path is specified', |
67 | 69 | app_fixture: 'container_main' do |
68 | 70 |
|
69 | | - expect(component.release).to eq("#{java_home.root}/bin/java -cp $PWD/.:$PWD/.additional_libs/test-jar-1.jar:" \ |
70 | | - '$PWD/.additional_libs/test-jar-2.jar:$PWD/alpha.jar:$PWD/bravo.jar:' \ |
71 | | - "$PWD/charlie.jar #{java_opts_str} test-main-class") |
| 71 | + expect(component.release).to eq("#{qualify_path java_home.root, droplet.root}/bin/java -cp $PWD/.:$PWD/." \ |
| 72 | + 'additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar:$PWD/' \ |
| 73 | + "alpha.jar:$PWD/bravo.jar:$PWD/charlie.jar #{java_opts_str} test-main-class") |
72 | 74 | end |
73 | 75 |
|
74 | 76 | context do |
75 | 77 | let(:configuration) { { 'java_main_class' => 'test-java-main-class', 'arguments' => 'some arguments' } } |
76 | 78 |
|
77 | 79 | it 'returns command line arguments when they are specified' do |
78 | 80 |
|
79 | | - expect(component.release).to eq("#{java_home.root}/bin/java -cp $PWD/.:$PWD/.additional_libs/test-jar-1.jar:" \ |
80 | | - "$PWD/.additional_libs/test-jar-2.jar #{java_opts_str} " \ |
81 | | - 'test-java-main-class some arguments') |
| 81 | + expect(component.release).to eq("#{qualify_path java_home.root, droplet.root}/bin/java -cp $PWD/.:$PWD/." \ |
| 82 | + 'additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar' \ |
| 83 | + " #{java_opts_str} test-java-main-class some arguments") |
82 | 84 | end |
83 | 85 | end |
84 | 86 |
|
85 | 87 | it 'releases Spring boot applications with a JarLauncher in the MANIFEST.MF by specifying a port', |
86 | 88 | app_fixture: 'container_main_spring_boot_jar_launcher' do |
87 | 89 |
|
88 | | - expect(component.release).to eq("SERVER_PORT=$PORT #{java_home.root}/bin/java -cp $PWD/.:" \ |
89 | | - '$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar ' \ |
90 | | - "#{java_opts_str} org.springframework.boot.loader.JarLauncher") |
| 90 | + expect(component.release).to eq("SERVER_PORT=$PORT #{qualify_path java_home.root, droplet.root}/bin/java -cp $PWD" \ |
| 91 | + '/.:$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar' \ |
| 92 | + " #{java_opts_str} org.springframework.boot.loader.JarLauncher") |
91 | 93 | end |
92 | 94 |
|
93 | 95 | it 'releases Spring boot applications with a WarLauncher in the MANIFEST.MF by specifying a port', |
94 | 96 | app_fixture: 'container_main_spring_boot_war_launcher' do |
95 | 97 |
|
96 | | - expect(component.release).to eq("SERVER_PORT=$PORT #{java_home.root}/bin/java -cp $PWD/.:" \ |
97 | | - '$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar ' \ |
98 | | - "#{java_opts_str} org.springframework.boot.loader.WarLauncher") |
| 98 | + expect(component.release).to eq("SERVER_PORT=$PORT #{qualify_path java_home.root, droplet.root}/bin/java -cp $PWD" \ |
| 99 | + '/.:$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar' \ |
| 100 | + " #{java_opts_str} org.springframework.boot.loader.WarLauncher") |
99 | 101 | end |
100 | 102 |
|
101 | 103 | it 'releases Spring boot applications with a PropertiesLauncher in the MANIFEST.MF by specifying a port', |
102 | 104 | app_fixture: 'container_main_spring_boot_properties_launcher' do |
103 | 105 |
|
104 | | - expect(component.release).to eq("SERVER_PORT=$PORT #{java_home.root}/bin/java -cp $PWD/.:" \ |
105 | | - '$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar ' \ |
106 | | - "#{java_opts_str} org.springframework.boot.loader.PropertiesLauncher") |
| 106 | + expect(component.release).to eq("SERVER_PORT=$PORT #{qualify_path java_home.root, droplet.root}/bin/java -cp $PWD" \ |
| 107 | + '/.:$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar' \ |
| 108 | + " #{java_opts_str} org.springframework.boot.loader.PropertiesLauncher") |
107 | 109 | end |
108 | 110 |
|
109 | 111 | context do |
110 | 112 | let(:configuration) { { 'java_main_class' => 'org.springframework.boot.loader.JarLauncher' } } |
111 | 113 |
|
112 | 114 | it 'releases Spring boot applications with a JarLauncher in the configuration by specifying a port' do |
113 | 115 |
|
114 | | - expect(component.release).to eq("SERVER_PORT=$PORT #{java_home.root}/bin/java -cp $PWD/.:" \ |
115 | | - '$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar ' \ |
116 | | - "#{java_opts_str} org.springframework.boot.loader.JarLauncher") |
| 116 | + expect(component.release).to eq("SERVER_PORT=$PORT #{qualify_path java_home.root, droplet.root}/bin/java -cp " \ |
| 117 | + '$PWD/.:$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/' \ |
| 118 | + "test-jar-2.jar #{java_opts_str} org.springframework.boot.loader.JarLauncher") |
117 | 119 | end |
118 | 120 | end |
119 | 121 |
|
|
122 | 124 |
|
123 | 125 | it 'releases Spring boot applications with a WarLauncher in the configuration by specifying a port' do |
124 | 126 |
|
125 | | - expect(component.release).to eq("SERVER_PORT=$PORT #{java_home.root}/bin/java -cp $PWD/.:" \ |
126 | | - '$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar ' \ |
127 | | - "#{java_opts_str} org.springframework.boot.loader.WarLauncher") |
| 127 | + expect(component.release).to eq("SERVER_PORT=$PORT #{qualify_path java_home.root, droplet.root}/bin/java -cp " \ |
| 128 | + '$PWD/.:$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/' \ |
| 129 | + "test-jar-2.jar #{java_opts_str} org.springframework.boot.loader.WarLauncher") |
128 | 130 | end |
129 | 131 | end |
130 | 132 |
|
|
133 | 135 |
|
134 | 136 | it 'releases Spring boot applications with a PropertiesLauncher in the configuration by specifying a port' do |
135 | 137 |
|
136 | | - expect(component.release).to eq("SERVER_PORT=$PORT #{java_home.root}/bin/java -cp $PWD/.:" \ |
137 | | - '$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar ' \ |
138 | | - "#{java_opts_str} org.springframework.boot.loader.PropertiesLauncher") |
| 138 | + expect(component.release).to eq("SERVER_PORT=$PORT #{qualify_path java_home.root, droplet.root}/bin/java " \ |
| 139 | + '-cp $PWD/.:$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs' \ |
| 140 | + "/test-jar-2.jar #{java_opts_str} org.springframework.boot.loader." \ |
| 141 | + 'PropertiesLauncher') |
139 | 142 | end |
140 | 143 | end |
141 | 144 |
|
|
0 commit comments