dockistrano 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 62458175a705cb5e911f4964c7ba1e05bebf11a4
4
- data.tar.gz: 457c55e88a61197d25e23913566a42590c632f80
3
+ metadata.gz: 7ac28b523edaa71eb85020de59988f816994362d
4
+ data.tar.gz: e7caed84b3299f8824b2771cb521e20a3ab6770c
5
5
  SHA512:
6
- metadata.gz: 5f4ef6636154a182e4470e282d1d7a88e7f7ddc1038d2169c14bc758417c300803add8260a7cfa072e1fcc820ecf379c476a7a80345f0810fcc8299e80b313a2
7
- data.tar.gz: 819e1eaac3726c507c4379760973d0b4dac1834524d4456cb0d57a050902d12df5fc5a86fe5054fdda9e9ff2f5b42df2c2e6b00ba13d6729a3cb16d23cf21da7
6
+ metadata.gz: a641af2fa6076e1c3e5c72c69abd54e2b43c85d8addb2c5e0e430cda3744954107ac4d495354d7e42cc72b6c765ffbd966ce0f0d0fb9f18319fe3105c0e6d6cf
7
+ data.tar.gz: 8ec45003411aa01abfeb7ecf4bb5a93b3841f100362f18925c5aea5c623dc09896ef77f2eb7b82dfbbdf227378e1bec4f2a42f4b413a39175a93a3a3cfe60dd6
@@ -29,7 +29,7 @@ module Dockistrano
29
29
  "backing_service_env" => config
30
30
  })
31
31
 
32
- backing_service.tag = tag_with_fallback(service.tag)
32
+ backing_service.tag = tag_with_fallback(service.registry, name, service.tag)
33
33
 
34
34
  begin
35
35
  loaded_config = load_config
@@ -89,10 +89,10 @@ module Dockistrano
89
89
  class NoTagFoundForImage < StandardError
90
90
  end
91
91
 
92
- def tag_with_fallback(tag)
92
+ def tag_with_fallback(registry, image_name, tag)
93
93
  fallback_tags = [tag, "develop", "master", "latest"]
94
94
 
95
- available_tags = Docker.tags_for_image("#{backing_service.registry}/#{backing_service.image_name}")
95
+ available_tags = Docker.tags_for_image("#{registry}/#{image_name}")
96
96
 
97
97
  begin
98
98
  tag_suggestion = fallback_tags.shift
@@ -102,7 +102,7 @@ module Dockistrano
102
102
  if final_tag
103
103
  final_tag
104
104
  else
105
- raise NoTagFoundForImage.new("No tag found for image #{backing_service.image_name}, locally available tags: #{available_tags} `doc pull` for more tags from repository.")
105
+ raise NoTagFoundForImage.new("No tag found for image #{image_name}, locally available tags: #{available_tags} `doc pull` for more tags from repository.")
106
106
  end
107
107
  end
108
108
 
@@ -1,3 +1,3 @@
1
1
  module Dockistrano
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -37,7 +37,7 @@ describe Dockistrano::ServiceDependency do
37
37
  end
38
38
 
39
39
  it "sets the tag with a fallback" do
40
- expect(subject).to receive(:tag_with_fallback).with("develop").and_return("latest")
40
+ expect(subject).to receive(:tag_with_fallback).with("my.registry.net", "postgresql", "develop").and_return("latest")
41
41
  expect(subject.backing_service.tag).to eq("latest")
42
42
  end
43
43
 
@@ -119,35 +119,29 @@ describe Dockistrano::ServiceDependency do
119
119
  end
120
120
 
121
121
  context "#tag_with_fallback" do
122
- let(:backing_service) { double(registry: "registry", image_name: "postgresql") }
123
-
124
- before do
125
- allow(subject).to receive(:backing_service).and_return(backing_service)
126
- end
127
-
128
122
  it "returns the given tag when the tag is available" do
129
123
  expect(Dockistrano::Docker).to receive(:tags_for_image).and_return(["feature-branch", "develop", "master", "latest"])
130
- expect(subject.tag_with_fallback("feature-branch")).to eq("feature-branch")
124
+ expect(subject.tag_with_fallback("registry", "postgresql", "feature-branch")).to eq("feature-branch")
131
125
  end
132
126
 
133
127
  it "returns develop when the specific tag is not available" do
134
128
  expect(Dockistrano::Docker).to receive(:tags_for_image).and_return(["develop", "master", "latest"])
135
- expect(subject.tag_with_fallback("feature-branch")).to eq("develop")
129
+ expect(subject.tag_with_fallback("registry", "postgresql", "feature-branch")).to eq("develop")
136
130
  end
137
131
 
138
132
  it "returns master when develop is not available" do
139
133
  expect(Dockistrano::Docker).to receive(:tags_for_image).and_return(["master", "latest"])
140
- expect(subject.tag_with_fallback("feature-branch")).to eq("master")
134
+ expect(subject.tag_with_fallback("registry", "postgresql", "feature-branch")).to eq("master")
141
135
  end
142
136
 
143
137
  it "returns latest when master is not available" do
144
138
  expect(Dockistrano::Docker).to receive(:tags_for_image).and_return(["latest"])
145
- expect(subject.tag_with_fallback("feature-branch")).to eq("latest")
139
+ expect(subject.tag_with_fallback("registry", "postgresql", "feature-branch")).to eq("latest")
146
140
  end
147
141
 
148
142
  it "raises an error when not appropriate tag is found" do
149
143
  expect(Dockistrano::Docker).to receive(:tags_for_image).and_return(["another-feature-branch"])
150
- expect { subject.tag_with_fallback("feature-branch") }.to raise_error(Dockistrano::ServiceDependency::NoTagFoundForImage)
144
+ expect { subject.tag_with_fallback("registry", "postgresql", "feature-branch") }.to raise_error(Dockistrano::ServiceDependency::NoTagFoundForImage)
151
145
  end
152
146
  end
153
147
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dockistrano
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Edwin Vlieg