From 6c3de2231d136c9d9eb57e232523d0a360ff54f0 Mon Sep 17 00:00:00 2001 From: N Date: Mon, 19 Aug 2019 01:10:51 +0100 Subject: [PATCH] test(golang): basic integrtaion test & tweaks --- kitchen.yml | 6 +++++ packages/golang/clean.sls | 2 +- packages/golang/goget.sls | 2 +- test/integration/default/archives_spec.rb | 2 +- test/integration/default/golang_spec.rb | 22 +++++++++++++++++++ .../default/pillar.example.ubuntu.1604 | 16 ++++++++++---- .../default/pillar.example.ubuntu.1804 | 16 ++++++++++---- 7 files changed, 55 insertions(+), 11 deletions(-) create mode 100644 test/integration/default/golang_spec.rb diff --git a/kitchen.yml b/kitchen.yml index 6032baf..e6a9296 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -21,12 +21,16 @@ platforms: run_command: /lib/systemd/systemd provision_command: - apt-get update && apt-get install -y udev locales git + - echo 'export PATH=${PATH}:/usr/local/go/bin' >/etc/default/golang.sh + - export PATH="${PATH}:/usr/local/go/bin" - name: ubuntu-18.04 driver_config: image: ubuntu:18.04 run_command: /lib/systemd/systemd provision_command: - apt-get update && apt-get install -y udev locales git + - echo 'export PATH=${PATH}:/usr/local/go/bin' >/etc/default/golang.sh + - export PATH="${PATH}:/usr/local/go/bin" - name: ubuntu-16.04 driver_config: image: ubuntu:16.04 @@ -35,6 +39,8 @@ platforms: - apt-get update && apt-get install -y udev locales git - locale-gen en_US.UTF-8 - update-locale LANG=en_US.UTF-8 + - echo 'export PATH=${PATH}:/usr/local/go/bin' >/etc/default/golang.sh + - export PATH="${PATH}:/usr/local/go/bin" - name: centos-7 driver_config: image: centos:7 diff --git a/packages/golang/clean.sls b/packages/golang/clean.sls index 61f4739..b3c4bbb 100644 --- a/packages/golang/clean.sls +++ b/packages/golang/clean.sls @@ -7,7 +7,7 @@ {%- for package in packages.golang.clean %} -packages-golang-clean-cmd-run-go-clean-{{ package }}: +packages-golang-clean-{{ package }}-cmd-run: cmd.run: - name: go clean -i {{ package }}... - runas: {{ packages.rootuser }} diff --git a/packages/golang/goget.sls b/packages/golang/goget.sls index f0338dd..ee138f1 100644 --- a/packages/golang/goget.sls +++ b/packages/golang/goget.sls @@ -7,7 +7,7 @@ {%- for package in packages.golang.goget %} -packages-golang-goget-cmd-run-go-get-{{ package }}: +packages-golang-goget-{{ package }}-cmd-run: cmd.run: - name: go get {{ package }} - runas: {{ packages.rootuser }} diff --git a/test/integration/default/archives_spec.rb b/test/integration/default/archives_spec.rb index 0892e83..9297dbe 100644 --- a/test/integration/default/archives_spec.rb +++ b/test/integration/default/archives_spec.rb @@ -15,7 +15,7 @@ it { should exist } end end - describe file('/usr/local/bin/kubectl') do + describe file('/usr/local/go/bin/go') do it { should be_executable } end end diff --git a/test/integration/default/golang_spec.rb b/test/integration/default/golang_spec.rb new file mode 100644 index 0000000..17ed458 --- /dev/null +++ b/test/integration/default/golang_spec.rb @@ -0,0 +1,22 @@ +go_path = '/home/kitchen/go' + +# GO GET +control 'go get github.com/golang/example/hello' do + title 'should be installed' + desc '(only testing in the Debian platform, as these are OS-independent' + + only_if do + os.debian? + end + + describe file('/usr/local/go/bin/go') do + it { should be_executable } + end + + %w( + github.com/golang/example/hello + ).each do |f| + describe file("#{go_path}/src/#{f}") do + it { should exist } + end + end diff --git a/test/integration/default/pillar.example.ubuntu.1604 b/test/integration/default/pillar.example.ubuntu.1604 index 887b33f..bc74f2a 100644 --- a/test/integration/default/pillar.example.ubuntu.1604 +++ b/test/integration/default/pillar.example.ubuntu.1604 @@ -79,14 +79,22 @@ packages: format: raw source: https://raw.githubusercontent.com/openstack/cinder/master/contrib/block-box/docker-compose.yml hashsum: 1751f8e4f6b4cddd8c4843a0f4473274 - kubectl: - dest: /usr/local/bin + golang: + dest: /usr/local dl: - format: bin - source: https://storage.googleapis.com/kubernetes-release/release/v1.12.0/bin/darwin/amd64/kubectl + format: tar + source: https://dl.google.com/go/go1.12.7.linux-amd64.tar.gz + hashsum: 66d83bfb5a9ede000e33c6579a91a29e6b101829ad41fffb5c5bb6c900e109d9 unwanted: - /usr/local/boring_archive_software remote_pkgs: zoom: 'https://zoom.us/client/latest/zoom_amd64.deb' + golang: + goget: + - github.com/golang/example/hello + - github.com/golang/example/outyet + clean: + - github.com/golang/example/hello + - github.com/golang/example/outyet diff --git a/test/integration/default/pillar.example.ubuntu.1804 b/test/integration/default/pillar.example.ubuntu.1804 index e7e1e03..3e5fdb9 100644 --- a/test/integration/default/pillar.example.ubuntu.1804 +++ b/test/integration/default/pillar.example.ubuntu.1804 @@ -81,14 +81,22 @@ packages: format: raw source: https://raw.githubusercontent.com/openstack/cinder/master/contrib/block-box/docker-compose.yml hashsum: 1751f8e4f6b4cddd8c4843a0f4473274 - kubectl: - dest: /usr/local/bin + golang: + dest: /usr/local dl: - format: bin - source: https://storage.googleapis.com/kubernetes-release/release/v1.12.0/bin/darwin/amd64/kubectl + format: tar + source: https://dl.google.com/go/go1.12.7.linux-amd64.tar.gz + hashsum: 66d83bfb5a9ede000e33c6579a91a29e6b101829ad41fffb5c5bb6c900e109d9 unwanted: - /usr/local/boring_archive_software remote_pkgs: zoom: 'https://zoom.us/client/latest/zoom_amd64.deb' + golang: + goget: + - github.com/golang/example/hello + - github.com/golang/example/outyet + clean: + - github.com/golang/example/hello + - github.com/golang/example/outyet