dockistrano 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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