mamiya 0.3.3 → 0.3.4
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 +4 -4
 - data/example/README.md +1 -1
 - data/lib/mamiya/agent.rb +1 -0
 - data/lib/mamiya/helpers/git.rb +1 -1
 - data/lib/mamiya/master.rb +1 -1
 - data/lib/mamiya/storages/s3.rb +1 -1
 - data/lib/mamiya/version.rb +1 -1
 - data/mamiya.gemspec +2 -2
 - data/spec/agent/task_queue_spec.rb +4 -4
 - data/spec/agent_spec.rb +4 -4
 - data/spec/dsl_spec.rb +4 -4
 - data/spec/master/agent_monitor_spec.rb +1 -1
 - data/spec/master/application_status_spec.rb +4 -4
 - data/spec/master/package_status_spec.rb +7 -7
 - data/spec/master/web_spec.rb +5 -5
 - data/spec/package_spec.rb +19 -19
 - data/spec/script_spec.rb +11 -10
 - data/spec/spec_helper.rb +10 -1
 - data/spec/steps/build_spec.rb +2 -2
 - data/spec/steps/prepare_spec.rb +1 -1
 - data/spec/steps/switch_spec.rb +3 -3
 - data/spec/storages/filesystem_spec.rb +2 -2
 - data/spec/storages/s3_proxy_spec.rb +1 -2
 - data/spec/storages/s3_spec.rb +2 -11
 - data/spec/util/label_matcher_spec.rb +17 -17
 - metadata +10 -10
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: f15e60a8affe0a9de8edc3d1d08eeae88c53430f
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 6bd610f27e771b8722fb73071dfc3a852d5a8109
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: cb0b2083ba26dfd25202b139e4afe41fc26d2a99d71a0a47bc38da526e844083c812d739f95d8a9100def23f4b1733fd0bf605c00943a12ce965b693bc58db63
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 5e83441d2ebe53be256d0129a30b9e8b639d925954a6c72769e822867114e73c652f5547f6fd188c9ccaef0857a68a1f0bbb97b5f1e4d2b0edca0f75ebcaa926
         
     | 
    
        data/example/README.md
    CHANGED
    
    
    
        data/lib/mamiya/agent.rb
    CHANGED
    
    | 
         @@ -189,6 +189,7 @@ module Mamiya 
     | 
|
| 
       189 
189 
     | 
    
         
             
                  payload_str = payload.merge(name: self.serf.name).to_json
         
     | 
| 
       190 
190 
     | 
    
         | 
| 
       191 
191 
     | 
    
         
             
                  @trigger_lock.synchronize do
         
     | 
| 
      
 192 
     | 
    
         
            +
                    logger.debug "Send serf event #{name}(coalesce=#{coalesce}): #{payload_str}"
         
     | 
| 
       192 
193 
     | 
    
         
             
                    serf.event(name, payload_str, coalesce: coalesce)
         
     | 
| 
       193 
194 
     | 
    
         
             
                  end
         
     | 
| 
       194 
195 
     | 
    
         
             
                end
         
     | 
    
        data/lib/mamiya/helpers/git.rb
    CHANGED
    
    | 
         @@ -17,7 +17,7 @@ def git_ignored_files 
     | 
|
| 
       17 
17 
     | 
    
         
             
                raise "`git clean -ndx` doesn't return line starting with 'Would remove' or 'Would skip'"
         
     | 
| 
       18 
18 
     | 
    
         
             
              end
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
     | 
    
         
            -
              excludes = git_clean_out.grep(prefix).map{ |_| _.sub(prefix, '').chomp }
         
     | 
| 
      
 20 
     | 
    
         
            +
              excludes = git_clean_out.grep(prefix).map{ |_| _.sub(prefix, '').chomp.chomp('/') }
         
     | 
| 
       21 
21 
     | 
    
         
             
              if package_under
         
     | 
| 
       22 
22 
     | 
    
         
             
                excludes.grep(/^#{Regexp.escape(package_under)}/).map{ |_| _.sub(/^#{Regexp.escape(package_under)}\/?/, '') }
         
     | 
| 
       23 
23 
     | 
    
         
             
              else
         
     | 
    
        data/lib/mamiya/master.rb
    CHANGED
    
    | 
         @@ -90,7 +90,7 @@ module Mamiya 
     | 
|
| 
       90 
90 
     | 
    
         
             
                      app: self.web,
         
     | 
| 
       91 
91 
     | 
    
         
             
                      Port: options[:port] ? options[:port].to_i : 7761,
         
     | 
| 
       92 
92 
     | 
    
         
             
                      Host: options[:bind] || '0.0.0.0', # TODO: IPv6
         
     | 
| 
       93 
     | 
    
         
            -
                      environment: options[:environment] ||  
     | 
| 
      
 93 
     | 
    
         
            +
                      environment: options[:environment] || 'development',
         
     | 
| 
       94 
94 
     | 
    
         
             
                      server: options[:server],
         
     | 
| 
       95 
95 
     | 
    
         
             
                      Logger: logger['web']
         
     | 
| 
       96 
96 
     | 
    
         
             
                    }
         
     | 
    
        data/lib/mamiya/storages/s3.rb
    CHANGED
    
    
    
        data/lib/mamiya/version.rb
    CHANGED
    
    
    
        data/mamiya.gemspec
    CHANGED
    
    | 
         @@ -19,7 +19,7 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       19 
19 
     | 
    
         
             
              spec.require_paths = ["lib"]
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
              spec.add_runtime_dependency "thor", ">= 0.18.1"
         
     | 
| 
       22 
     | 
    
         
            -
              spec.add_runtime_dependency "aws-sdk- 
     | 
| 
      
 22 
     | 
    
         
            +
              spec.add_runtime_dependency "aws-sdk-s3", ">= 1"
         
     | 
| 
       23 
23 
     | 
    
         
             
              spec.add_runtime_dependency "term-ansicolor", ">= 1.3.0"
         
     | 
| 
       24 
24 
     | 
    
         
             
              unless ENV["MAMIYA_VILLEIN_PATH"]
         
     | 
| 
       25 
25 
     | 
    
         
             
                spec.add_runtime_dependency "villein", ">= 0.5.0"
         
     | 
| 
         @@ -28,7 +28,7 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       28 
28 
     | 
    
         
             
              spec.add_runtime_dependency "sinatra", ">= 1.4.5"
         
     | 
| 
       29 
29 
     | 
    
         
             
              spec.add_runtime_dependency "sigdump"
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
       31 
     | 
    
         
            -
              spec.add_development_dependency "rspec", " 
     | 
| 
      
 31 
     | 
    
         
            +
              spec.add_development_dependency "rspec", ">= 3.0"
         
     | 
| 
       32 
32 
     | 
    
         
             
              spec.add_development_dependency 'rack-test', '~> 0.6.2'
         
     | 
| 
       33 
33 
     | 
    
         | 
| 
       34 
34 
     | 
    
         
             
              spec.add_development_dependency "bundler", "~> 1.5"
         
     | 
| 
         @@ -75,15 +75,15 @@ describe Mamiya::Agent::TaskQueue do 
     | 
|
| 
       75 
75 
     | 
    
         
             
                  expect(queue).to be_running
         
     | 
| 
       76 
76 
     | 
    
         | 
| 
       77 
77 
     | 
    
         
             
                  expect(queue.worker_threads).to be_a_kind_of(Hash)
         
     | 
| 
       78 
     | 
    
         
            -
                  expect(queue.worker_threads.values.all? { |v| v.kind_of?(Thread) }).to  
     | 
| 
       79 
     | 
    
         
            -
                  expect(queue.worker_threads.values.all? { |v| v.alive? }).to  
     | 
| 
      
 78 
     | 
    
         
            +
                  expect(queue.worker_threads.values.all? { |v| v.kind_of?(Thread) }).to be true
         
     | 
| 
      
 79 
     | 
    
         
            +
                  expect(queue.worker_threads.values.all? { |v| v.alive? }).to be true
         
     | 
| 
       80 
80 
     | 
    
         
             
                  threads = queue.worker_threads.dup
         
     | 
| 
       81 
81 
     | 
    
         | 
| 
       82 
82 
     | 
    
         
             
                  queue.stop!
         
     | 
| 
       83 
83 
     | 
    
         | 
| 
       84 
84 
     | 
    
         
             
                  expect(queue).not_to be_running
         
     | 
| 
       85 
85 
     | 
    
         
             
                  expect(queue.worker_threads).to be_nil
         
     | 
| 
       86 
     | 
    
         
            -
                  expect(threads.each_value.all? { |v| !v.alive? }).to  
     | 
| 
      
 86 
     | 
    
         
            +
                  expect(threads.each_value.all? { |v| !v.alive? }).to be true
         
     | 
| 
       87 
87 
     | 
    
         
             
                end
         
     | 
| 
       88 
88 
     | 
    
         | 
| 
       89 
89 
     | 
    
         
             
                it "can stop gracefully"
         
     | 
| 
         @@ -138,7 +138,7 @@ describe Mamiya::Agent::TaskQueue do 
     | 
|
| 
       138 
138 
     | 
    
         | 
| 
       139 
139 
     | 
    
         
             
                    100.times { break if task_class_a.runs.size == 1; sleep 0.01 }
         
     | 
| 
       140 
140 
     | 
    
         
             
                    expect(task_class_a.runs.size).to eq 1
         
     | 
| 
       141 
     | 
    
         
            -
                    expect(task_class_a.runs[0].key?('_labels')).to  
     | 
| 
      
 141 
     | 
    
         
            +
                    expect(task_class_a.runs[0].key?('_labels')).to be false
         
     | 
| 
       142 
142 
     | 
    
         
             
                  end
         
     | 
| 
       143 
143 
     | 
    
         
             
                end
         
     | 
| 
       144 
144 
     | 
    
         | 
    
        data/spec/agent_spec.rb
    CHANGED
    
    | 
         @@ -140,19 +140,19 @@ describe Mamiya::Agent do 
     | 
|
| 
       140 
140 
     | 
    
         
             
                  subject(:status) { agent.status(packages: false) }
         
     | 
| 
       141 
141 
     | 
    
         | 
| 
       142 
142 
     | 
    
         
             
                  it "doesn't include existing packages" do
         
     | 
| 
       143 
     | 
    
         
            -
                    expect(status.has_key?(:packages)).to  
     | 
| 
      
 143 
     | 
    
         
            +
                    expect(status.has_key?(:packages)).to be false
         
     | 
| 
       144 
144 
     | 
    
         
             
                  end
         
     | 
| 
       145 
145 
     | 
    
         | 
| 
       146 
146 
     | 
    
         
             
                  it "doesn't include existing prereleases" do
         
     | 
| 
       147 
     | 
    
         
            -
                    expect(status.has_key?(:prereleases)).to  
     | 
| 
      
 147 
     | 
    
         
            +
                    expect(status.has_key?(:prereleases)).to be false
         
     | 
| 
       148 
148 
     | 
    
         
             
                  end
         
     | 
| 
       149 
149 
     | 
    
         | 
| 
       150 
150 
     | 
    
         
             
                  it "doesn't include existing releases" do
         
     | 
| 
       151 
     | 
    
         
            -
                    expect(status.has_key?(:releases)).to  
     | 
| 
      
 151 
     | 
    
         
            +
                    expect(status.has_key?(:releases)).to be false
         
     | 
| 
       152 
152 
     | 
    
         
             
                  end
         
     | 
| 
       153 
153 
     | 
    
         | 
| 
       154 
154 
     | 
    
         
             
                  it "doesn't include existing currents" do
         
     | 
| 
       155 
     | 
    
         
            -
                    expect(status.has_key?(:currents)).to  
     | 
| 
      
 155 
     | 
    
         
            +
                    expect(status.has_key?(:currents)).to be false
         
     | 
| 
       156 
156 
     | 
    
         
             
                  end
         
     | 
| 
       157 
157 
     | 
    
         
             
                end
         
     | 
| 
       158 
158 
     | 
    
         | 
    
        data/spec/dsl_spec.rb
    CHANGED
    
    | 
         @@ -8,7 +8,7 @@ describe Mamiya::DSL do 
     | 
|
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
              describe ".set_default" do
         
     | 
| 
       10 
10 
     | 
    
         
             
                it "sets default" do
         
     | 
| 
       11 
     | 
    
         
            -
                  expect { dsl.testvar }.to raise_error
         
     | 
| 
      
 11 
     | 
    
         
            +
                  expect { dsl.testvar }.to raise_error(NoMethodError, /\btestvar\b/)
         
     | 
| 
       12 
12 
     | 
    
         
             
                  klass.set_default :testvar, 1
         
     | 
| 
       13 
13 
     | 
    
         
             
                  expect(dsl.testvar).to eq 1
         
     | 
| 
       14 
14 
     | 
    
         
             
                end
         
     | 
| 
         @@ -16,7 +16,7 @@ describe Mamiya::DSL do 
     | 
|
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
              describe ".add_hook" do
         
     | 
| 
       18 
18 
     | 
    
         
             
                it "adds hook" do
         
     | 
| 
       19 
     | 
    
         
            -
                  expect { dsl.testhook }.to raise_error
         
     | 
| 
      
 19 
     | 
    
         
            +
                  expect { dsl.testhook }.to raise_error(NoMethodError, /\btesthook\b/)
         
     | 
| 
       20 
20 
     | 
    
         
             
                  klass.add_hook :testhook
         
     | 
| 
       21 
21 
     | 
    
         
             
                  expect(dsl.testhook).to be_a(Proc)
         
     | 
| 
       22 
22 
     | 
    
         
             
                end
         
     | 
| 
         @@ -98,7 +98,7 @@ describe Mamiya::DSL do 
     | 
|
| 
       98 
98 
     | 
    
         | 
| 
       99 
99 
     | 
    
         
             
              describe "#set" do
         
     | 
| 
       100 
100 
     | 
    
         
             
                it "sets variable" do
         
     | 
| 
       101 
     | 
    
         
            -
                  expect{ dsl.foo }.to raise_error
         
     | 
| 
      
 101 
     | 
    
         
            +
                  expect{ dsl.foo }.to raise_error(NoMethodError, /\bfoo\b/)
         
     | 
| 
       102 
102 
     | 
    
         
             
                  dsl.set :foo, 100
         
     | 
| 
       103 
103 
     | 
    
         
             
                  expect(dsl.foo).to eq 100
         
     | 
| 
       104 
104 
     | 
    
         
             
                  expect(dsl[:foo]).to eq 100
         
     | 
| 
         @@ -157,7 +157,7 @@ describe Mamiya::DSL do 
     | 
|
| 
       157 
157 
     | 
    
         
             
                  it "raises error" do
         
     | 
| 
       158 
158 
     | 
    
         
             
                    expect {
         
     | 
| 
       159 
159 
     | 
    
         
             
                      dsl.invoke :nul
         
     | 
| 
       160 
     | 
    
         
            -
                    }.to raise_error
         
     | 
| 
      
 160 
     | 
    
         
            +
                    }.to raise_error(Mamiya::DSL::TaskNotDefinedError)
         
     | 
| 
       161 
161 
     | 
    
         
             
                  end
         
     | 
| 
       162 
162 
     | 
    
         
             
                end
         
     | 
| 
       163 
163 
     | 
    
         
             
              end
         
     | 
| 
         @@ -243,7 +243,7 @@ describe Mamiya::Master::AgentMonitor do 
     | 
|
| 
       243 
243 
     | 
    
         
             
                end
         
     | 
| 
       244 
244 
     | 
    
         | 
| 
       245 
245 
     | 
    
         
             
                context "with argument" do
         
     | 
| 
       246 
     | 
    
         
            -
                  it "passes args to serf query",  
     | 
| 
      
 246 
     | 
    
         
            +
                  it "passes args to serf query", skip: 'stub_serf_queries cannot handle kwarg' do
         
     | 
| 
       247 
247 
     | 
    
         
             
                    stub_serf_queries(expected_kwargs: {node: 'foo'})
         
     | 
| 
       248 
248 
     | 
    
         
             
                    agent_monitor.refresh(node: 'foo')
         
     | 
| 
       249 
249 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -133,7 +133,7 @@ describe Mamiya::Master::ApplicationStatus do 
     | 
|
| 
       133 
133 
     | 
    
         
             
                  }
         
     | 
| 
       134 
134 
     | 
    
         
             
                end
         
     | 
| 
       135 
135 
     | 
    
         | 
| 
       136 
     | 
    
         
            -
                it {  
     | 
| 
      
 136 
     | 
    
         
            +
                it { is_expected.to eq('a' => %w(agent1 agent3), 'b' => %w(agent2)) }
         
     | 
| 
       137 
137 
     | 
    
         
             
              end
         
     | 
| 
       138 
138 
     | 
    
         | 
| 
       139 
139 
     | 
    
         
             
              describe "#major_current" do
         
     | 
| 
         @@ -153,7 +153,7 @@ describe Mamiya::Master::ApplicationStatus do 
     | 
|
| 
       153 
153 
     | 
    
         
             
                  }
         
     | 
| 
       154 
154 
     | 
    
         
             
                end
         
     | 
| 
       155 
155 
     | 
    
         | 
| 
       156 
     | 
    
         
            -
                it {  
     | 
| 
      
 156 
     | 
    
         
            +
                it { is_expected.to eq 'a' }
         
     | 
| 
       157 
157 
     | 
    
         
             
              end
         
     | 
| 
       158 
158 
     | 
    
         | 
| 
       159 
159 
     | 
    
         
             
              describe "#common_releases" do
         
     | 
| 
         @@ -173,7 +173,7 @@ describe Mamiya::Master::ApplicationStatus do 
     | 
|
| 
       173 
173 
     | 
    
         
             
                  }
         
     | 
| 
       174 
174 
     | 
    
         
             
                end
         
     | 
| 
       175 
175 
     | 
    
         | 
| 
       176 
     | 
    
         
            -
                it {  
     | 
| 
      
 176 
     | 
    
         
            +
                it { is_expected.to eq %w(b c) }
         
     | 
| 
       177 
177 
     | 
    
         
             
              end
         
     | 
| 
       178 
178 
     | 
    
         | 
| 
       179 
179 
     | 
    
         
             
              describe "#common_previous_release" do
         
     | 
| 
         @@ -196,6 +196,6 @@ describe Mamiya::Master::ApplicationStatus do 
     | 
|
| 
       196 
196 
     | 
    
         
             
                  }
         
     | 
| 
       197 
197 
     | 
    
         
             
                end
         
     | 
| 
       198 
198 
     | 
    
         | 
| 
       199 
     | 
    
         
            -
                it {  
     | 
| 
      
 199 
     | 
    
         
            +
                it { is_expected.to eq ?b }
         
     | 
| 
       200 
200 
     | 
    
         
             
              end
         
     | 
| 
       201 
201 
     | 
    
         
             
            end
         
     | 
| 
         @@ -49,8 +49,8 @@ describe Mamiya::Master::PackageStatus do 
     | 
|
| 
       49 
49 
     | 
    
         
             
                    }
         
     | 
| 
       50 
50 
     | 
    
         
             
                  end
         
     | 
| 
       51 
51 
     | 
    
         | 
| 
       52 
     | 
    
         
            -
                  it {  
     | 
| 
       53 
     | 
    
         
            -
                  it {  
     | 
| 
      
 52 
     | 
    
         
            +
                  it { is_expected.to include(:distributing) }
         
     | 
| 
      
 53 
     | 
    
         
            +
                  it { is_expected.to include(:partially_distributed) }
         
     | 
| 
       54 
54 
     | 
    
         
             
                end
         
     | 
| 
       55 
55 
     | 
    
         | 
| 
       56 
56 
     | 
    
         
             
                context "if there's queued agents" do
         
     | 
| 
         @@ -83,8 +83,8 @@ describe Mamiya::Master::PackageStatus do 
     | 
|
| 
       83 
83 
     | 
    
         
             
                    }
         
     | 
| 
       84 
84 
     | 
    
         
             
                  end
         
     | 
| 
       85 
85 
     | 
    
         | 
| 
       86 
     | 
    
         
            -
                  it {  
     | 
| 
       87 
     | 
    
         
            -
                  it {  
     | 
| 
      
 86 
     | 
    
         
            +
                  it { is_expected.to include(:distributing) }
         
     | 
| 
      
 87 
     | 
    
         
            +
                  it { is_expected.to include(:partially_distributed) }
         
     | 
| 
       88 
88 
     | 
    
         
             
                end
         
     | 
| 
       89 
89 
     | 
    
         | 
| 
       90 
90 
     | 
    
         
             
                context "if any agents have the package" do
         
     | 
| 
         @@ -112,7 +112,7 @@ describe Mamiya::Master::PackageStatus do 
     | 
|
| 
       112 
112 
     | 
    
         
             
                    }
         
     | 
| 
       113 
113 
     | 
    
         
             
                  end
         
     | 
| 
       114 
114 
     | 
    
         | 
| 
       115 
     | 
    
         
            -
                  it {  
     | 
| 
      
 115 
     | 
    
         
            +
                  it { is_expected.to include(:partially_distributed) }
         
     | 
| 
       116 
116 
     | 
    
         
             
                end
         
     | 
| 
       117 
117 
     | 
    
         | 
| 
       118 
118 
     | 
    
         
             
                context "if all agents have the package" do
         
     | 
| 
         @@ -141,7 +141,7 @@ describe Mamiya::Master::PackageStatus do 
     | 
|
| 
       141 
141 
     | 
    
         
             
                    }
         
     | 
| 
       142 
142 
     | 
    
         
             
                  end
         
     | 
| 
       143 
143 
     | 
    
         | 
| 
       144 
     | 
    
         
            -
                  it {  
     | 
| 
      
 144 
     | 
    
         
            +
                  it { is_expected.to include(:distributed) }
         
     | 
| 
       145 
145 
     | 
    
         
             
                end
         
     | 
| 
       146 
146 
     | 
    
         | 
| 
       147 
147 
     | 
    
         
             
                context "if no agents relate to the package" do
         
     | 
| 
         @@ -168,7 +168,7 @@ describe Mamiya::Master::PackageStatus do 
     | 
|
| 
       168 
168 
     | 
    
         
             
                    }
         
     | 
| 
       169 
169 
     | 
    
         
             
                  end
         
     | 
| 
       170 
170 
     | 
    
         | 
| 
       171 
     | 
    
         
            -
                  it {  
     | 
| 
      
 171 
     | 
    
         
            +
                  it { is_expected.to eq [:unknown] }
         
     | 
| 
       172 
172 
     | 
    
         
             
                end
         
     | 
| 
       173 
173 
     | 
    
         
             
              end
         
     | 
| 
       174 
174 
     | 
    
         | 
    
        data/spec/master/web_spec.rb
    CHANGED
    
    | 
         @@ -324,7 +324,7 @@ describe Mamiya::Master::Web do 
     | 
|
| 
       324 
324 
     | 
    
         
             
                        }
         
     | 
| 
       325 
325 
     | 
    
         
             
                      end
         
     | 
| 
       326 
326 
     | 
    
         | 
| 
       327 
     | 
    
         
            -
                      it {  
     | 
| 
      
 327 
     | 
    
         
            +
                      it { is_expected.to eq 'distributing' }
         
     | 
| 
       328 
328 
     | 
    
         
             
                    end
         
     | 
| 
       329 
329 
     | 
    
         | 
| 
       330 
330 
     | 
    
         
             
                    context "if there's queued agents" do
         
     | 
| 
         @@ -357,7 +357,7 @@ describe Mamiya::Master::Web do 
     | 
|
| 
       357 
357 
     | 
    
         
             
                        }
         
     | 
| 
       358 
358 
     | 
    
         
             
                      end
         
     | 
| 
       359 
359 
     | 
    
         | 
| 
       360 
     | 
    
         
            -
                      it {  
     | 
| 
      
 360 
     | 
    
         
            +
                      it { is_expected.to eq 'distributing' }
         
     | 
| 
       361 
361 
     | 
    
         
             
                    end
         
     | 
| 
       362 
362 
     | 
    
         | 
| 
       363 
363 
     | 
    
         
             
                    context "if any agents have the package" do
         
     | 
| 
         @@ -385,7 +385,7 @@ describe Mamiya::Master::Web do 
     | 
|
| 
       385 
385 
     | 
    
         
             
                        }
         
     | 
| 
       386 
386 
     | 
    
         
             
                      end
         
     | 
| 
       387 
387 
     | 
    
         | 
| 
       388 
     | 
    
         
            -
                      it {  
     | 
| 
      
 388 
     | 
    
         
            +
                      it { is_expected.to eq 'partially_distributed' }
         
     | 
| 
       389 
389 
     | 
    
         
             
                    end
         
     | 
| 
       390 
390 
     | 
    
         | 
| 
       391 
391 
     | 
    
         
             
                    context "if all agents have the package" do
         
     | 
| 
         @@ -414,7 +414,7 @@ describe Mamiya::Master::Web do 
     | 
|
| 
       414 
414 
     | 
    
         
             
                        }
         
     | 
| 
       415 
415 
     | 
    
         
             
                      end
         
     | 
| 
       416 
416 
     | 
    
         | 
| 
       417 
     | 
    
         
            -
                      it {  
     | 
| 
      
 417 
     | 
    
         
            +
                      it { is_expected.to eq 'distributed' }
         
     | 
| 
       418 
418 
     | 
    
         
             
                    end
         
     | 
| 
       419 
419 
     | 
    
         | 
| 
       420 
420 
     | 
    
         
             
                    context "if no agents relate to the package" do
         
     | 
| 
         @@ -441,7 +441,7 @@ describe Mamiya::Master::Web do 
     | 
|
| 
       441 
441 
     | 
    
         
             
                        }
         
     | 
| 
       442 
442 
     | 
    
         
             
                      end
         
     | 
| 
       443 
443 
     | 
    
         | 
| 
       444 
     | 
    
         
            -
                      it {  
     | 
| 
      
 444 
     | 
    
         
            +
                      it { is_expected.to eq 'unknown' }
         
     | 
| 
       445 
445 
     | 
    
         
             
                    end
         
     | 
| 
       446 
446 
     | 
    
         
             
                  end
         
     | 
| 
       447 
447 
     | 
    
         | 
    
        data/spec/package_spec.rb
    CHANGED
    
    | 
         @@ -48,26 +48,26 @@ describe Mamiya::Package do 
     | 
|
| 
       48 
48 
     | 
    
         | 
| 
       49 
49 
     | 
    
         
             
              describe "#path" do
         
     | 
| 
       50 
50 
     | 
    
         
             
                subject { package.path }
         
     | 
| 
       51 
     | 
    
         
            -
                it {  
     | 
| 
      
 51 
     | 
    
         
            +
                it { is_expected.to eq Pathname.new(package_path) }
         
     | 
| 
       52 
52 
     | 
    
         | 
| 
       53 
53 
     | 
    
         
             
                context "without file extension" do
         
     | 
| 
       54 
54 
     | 
    
         
             
                  let(:arg) { 'test' }
         
     | 
| 
       55 
     | 
    
         
            -
                  it {  
     | 
| 
      
 55 
     | 
    
         
            +
                  it { is_expected.to eq Pathname.new('test.tar.gz') }
         
     | 
| 
       56 
56 
     | 
    
         
             
                end
         
     | 
| 
       57 
57 
     | 
    
         | 
| 
       58 
58 
     | 
    
         
             
                context "with .tar.gz" do
         
     | 
| 
       59 
59 
     | 
    
         
             
                  let(:arg) { 'test.tar.gz' }
         
     | 
| 
       60 
     | 
    
         
            -
                  it {  
     | 
| 
      
 60 
     | 
    
         
            +
                  it { is_expected.to eq Pathname.new('test.tar.gz') }
         
     | 
| 
       61 
61 
     | 
    
         
             
                end
         
     | 
| 
       62 
62 
     | 
    
         | 
| 
       63 
63 
     | 
    
         
             
                context "with .json" do
         
     | 
| 
       64 
64 
     | 
    
         
             
                  let(:arg) { 'test.json' }
         
     | 
| 
       65 
     | 
    
         
            -
                  it {  
     | 
| 
      
 65 
     | 
    
         
            +
                  it { is_expected.to eq Pathname.new('test.tar.gz') }
         
     | 
| 
       66 
66 
     | 
    
         
             
                end
         
     | 
| 
       67 
67 
     | 
    
         | 
| 
       68 
68 
     | 
    
         
             
                context "with filename containing dot" do
         
     | 
| 
       69 
69 
     | 
    
         
             
                  let(:arg) { 'a.b' }
         
     | 
| 
       70 
     | 
    
         
            -
                  it {  
     | 
| 
      
 70 
     | 
    
         
            +
                  it { is_expected.to eq Pathname.new('a.b.tar.gz') }
         
     | 
| 
       71 
71 
     | 
    
         
             
                end
         
     | 
| 
       72 
72 
     | 
    
         
             
              end
         
     | 
| 
       73 
73 
     | 
    
         | 
| 
         @@ -76,22 +76,22 @@ describe Mamiya::Package do 
     | 
|
| 
       76 
76 
     | 
    
         | 
| 
       77 
77 
     | 
    
         
             
                context "without file extension" do
         
     | 
| 
       78 
78 
     | 
    
         
             
                  let(:arg) { 'test' }
         
     | 
| 
       79 
     | 
    
         
            -
                  it {  
     | 
| 
      
 79 
     | 
    
         
            +
                  it { is_expected.to eq Pathname.new('test.json') }
         
     | 
| 
       80 
80 
     | 
    
         
             
                end
         
     | 
| 
       81 
81 
     | 
    
         | 
| 
       82 
82 
     | 
    
         
             
                context "with .tar.gz" do
         
     | 
| 
       83 
83 
     | 
    
         
             
                  let(:arg) { 'test.tar.gz' }
         
     | 
| 
       84 
     | 
    
         
            -
                  it {  
     | 
| 
      
 84 
     | 
    
         
            +
                  it { is_expected.to eq Pathname.new('test.json') }
         
     | 
| 
       85 
85 
     | 
    
         
             
                end
         
     | 
| 
       86 
86 
     | 
    
         | 
| 
       87 
87 
     | 
    
         
             
                context "with .json" do
         
     | 
| 
       88 
88 
     | 
    
         
             
                  let(:arg) { 'test.json' }
         
     | 
| 
       89 
     | 
    
         
            -
                  it {  
     | 
| 
      
 89 
     | 
    
         
            +
                  it { is_expected.to eq Pathname.new('test.json') }
         
     | 
| 
       90 
90 
     | 
    
         
             
                end
         
     | 
| 
       91 
91 
     | 
    
         | 
| 
       92 
92 
     | 
    
         
             
                context "with filename containing dot" do
         
     | 
| 
       93 
93 
     | 
    
         
             
                  let(:arg) { 'a.b' }
         
     | 
| 
       94 
     | 
    
         
            -
                  it {  
     | 
| 
      
 94 
     | 
    
         
            +
                  it { is_expected.to eq Pathname.new('a.b.json') }
         
     | 
| 
       95 
95 
     | 
    
         
             
                end
         
     | 
| 
       96 
96 
     | 
    
         
             
              end
         
     | 
| 
       97 
97 
     | 
    
         | 
| 
         @@ -155,7 +155,7 @@ describe Mamiya::Package do 
     | 
|
| 
       155 
155 
     | 
    
         
             
                    File.write(meta_path, {"checksum" => Digest::SHA2.hexdigest("test\n")}.to_json + "\n")
         
     | 
| 
       156 
156 
     | 
    
         
             
                  end
         
     | 
| 
       157 
157 
     | 
    
         | 
| 
       158 
     | 
    
         
            -
                  it {  
     | 
| 
      
 158 
     | 
    
         
            +
                  it { is_expected.to be true }
         
     | 
| 
       159 
159 
     | 
    
         
             
                end
         
     | 
| 
       160 
160 
     | 
    
         | 
| 
       161 
161 
     | 
    
         
             
                context "when checksum is incorrect" do
         
     | 
| 
         @@ -164,7 +164,7 @@ describe Mamiya::Package do 
     | 
|
| 
       164 
164 
     | 
    
         
             
                    File.write(meta_path, {"checksum" => Digest::SHA2.hexdigest("text\n")}.to_json + "\n")
         
     | 
| 
       165 
165 
     | 
    
         
             
                  end
         
     | 
| 
       166 
166 
     | 
    
         | 
| 
       167 
     | 
    
         
            -
                  it {  
     | 
| 
      
 167 
     | 
    
         
            +
                  it { is_expected.to be false }
         
     | 
| 
       168 
168 
     | 
    
         
             
                end
         
     | 
| 
       169 
169 
     | 
    
         | 
| 
       170 
170 
     | 
    
         
             
                context "when package not exists" do
         
     | 
| 
         @@ -187,42 +187,42 @@ describe Mamiya::Package do 
     | 
|
| 
       187 
187 
     | 
    
         
             
              describe "#name" do
         
     | 
| 
       188 
188 
     | 
    
         
             
                subject { package.name }
         
     | 
| 
       189 
189 
     | 
    
         | 
| 
       190 
     | 
    
         
            -
                it {  
     | 
| 
      
 190 
     | 
    
         
            +
                it { is_expected.to eq 'test' }
         
     | 
| 
       191 
191 
     | 
    
         | 
| 
       192 
192 
     | 
    
         
             
                context "when meta['name'] exists" do
         
     | 
| 
       193 
193 
     | 
    
         
             
                  before do
         
     | 
| 
       194 
194 
     | 
    
         
             
                    package.meta['name'] = 'pack'
         
     | 
| 
       195 
195 
     | 
    
         
             
                  end
         
     | 
| 
       196 
196 
     | 
    
         | 
| 
       197 
     | 
    
         
            -
                  it {  
     | 
| 
      
 197 
     | 
    
         
            +
                  it { is_expected.to eq 'pack' }
         
     | 
| 
       198 
198 
     | 
    
         
             
                end
         
     | 
| 
       199 
199 
     | 
    
         
             
              end
         
     | 
| 
       200 
200 
     | 
    
         | 
| 
       201 
201 
     | 
    
         
             
              describe "#application" do
         
     | 
| 
       202 
202 
     | 
    
         
             
                subject { package.application }
         
     | 
| 
       203 
203 
     | 
    
         | 
| 
       204 
     | 
    
         
            -
                it {  
     | 
| 
      
 204 
     | 
    
         
            +
                it { is_expected.to eq nil }
         
     | 
| 
       205 
205 
     | 
    
         | 
| 
       206 
206 
     | 
    
         
             
                context "when meta['application'] exists" do
         
     | 
| 
       207 
207 
     | 
    
         
             
                  before do
         
     | 
| 
       208 
208 
     | 
    
         
             
                    package.meta['application'] = 'app'
         
     | 
| 
       209 
209 
     | 
    
         
             
                  end
         
     | 
| 
       210 
210 
     | 
    
         | 
| 
       211 
     | 
    
         
            -
                  it {  
     | 
| 
      
 211 
     | 
    
         
            +
                  it { is_expected.to eq 'app' }
         
     | 
| 
       212 
212 
     | 
    
         
             
                end
         
     | 
| 
       213 
213 
     | 
    
         
             
              end
         
     | 
| 
       214 
214 
     | 
    
         | 
| 
       215 
215 
     | 
    
         
             
              describe "#checksum" do
         
     | 
| 
       216 
216 
     | 
    
         
             
                subject { package.checksum }
         
     | 
| 
       217 
217 
     | 
    
         | 
| 
       218 
     | 
    
         
            -
                it {  
     | 
| 
      
 218 
     | 
    
         
            +
                it { is_expected.to be_nil }
         
     | 
| 
       219 
219 
     | 
    
         | 
| 
       220 
220 
     | 
    
         
             
                context "when package exists" do
         
     | 
| 
       221 
221 
     | 
    
         
             
                  before do
         
     | 
| 
       222 
222 
     | 
    
         
             
                    File.write package_path, "text\n"
         
     | 
| 
       223 
223 
     | 
    
         
             
                  end
         
     | 
| 
       224 
224 
     | 
    
         | 
| 
       225 
     | 
    
         
            -
                  it {  
     | 
| 
      
 225 
     | 
    
         
            +
                  it { is_expected.to eq Digest::SHA2.hexdigest("text\n") }
         
     | 
| 
       226 
226 
     | 
    
         
             
                end
         
     | 
| 
       227 
227 
     | 
    
         
             
              end
         
     | 
| 
       228 
228 
     | 
    
         | 
| 
         @@ -234,7 +234,7 @@ describe Mamiya::Package do 
     | 
|
| 
       234 
234 
     | 
    
         
             
                    File.write package_path, ''
         
     | 
| 
       235 
235 
     | 
    
         
             
                  end
         
     | 
| 
       236 
236 
     | 
    
         | 
| 
       237 
     | 
    
         
            -
                  it {  
     | 
| 
      
 237 
     | 
    
         
            +
                  it { is_expected.to be true }
         
     | 
| 
       238 
238 
     | 
    
         
             
                end
         
     | 
| 
       239 
239 
     | 
    
         | 
| 
       240 
240 
     | 
    
         
             
                context "when package not exists" do
         
     | 
| 
         @@ -242,7 +242,7 @@ describe Mamiya::Package do 
     | 
|
| 
       242 
242 
     | 
    
         
             
                    File.unlink(package_path) if File.exists?(package_path)
         
     | 
| 
       243 
243 
     | 
    
         
             
                  end
         
     | 
| 
       244 
244 
     | 
    
         | 
| 
       245 
     | 
    
         
            -
                  it {  
     | 
| 
      
 245 
     | 
    
         
            +
                  it { is_expected.to be false }
         
     | 
| 
       246 
246 
     | 
    
         
             
                end
         
     | 
| 
       247 
247 
     | 
    
         
             
              end
         
     | 
| 
       248 
248 
     | 
    
         | 
    
        data/spec/script_spec.rb
    CHANGED
    
    | 
         @@ -14,9 +14,9 @@ describe Mamiya::Script do 
     | 
|
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
              let(:logger) {
         
     | 
| 
       16 
16 
     | 
    
         
             
                double("logger").tap do |_|
         
     | 
| 
       17 
     | 
    
         
            -
                  _. 
     | 
| 
      
 17 
     | 
    
         
            +
                  allow(_).to receive(:[]) { _ }
         
     | 
| 
       18 
18 
     | 
    
         
             
                  %i(info warn debug error).each do |severity|
         
     | 
| 
       19 
     | 
    
         
            -
                    _. 
     | 
| 
      
 19 
     | 
    
         
            +
                    allow(_).to receive(severity) { |*args| log << [severity, *args]; _ }
         
     | 
| 
       20 
20 
     | 
    
         
             
                  end
         
     | 
| 
       21 
21 
     | 
    
         
             
                end
         
     | 
| 
       22 
22 
     | 
    
         
             
              }
         
     | 
| 
         @@ -27,14 +27,15 @@ describe Mamiya::Script do 
     | 
|
| 
       27 
27 
     | 
    
         | 
| 
       28 
28 
     | 
    
         
             
              describe "#run" do
         
     | 
| 
       29 
29 
     | 
    
         
             
                it "runs command" do
         
     | 
| 
       30 
     | 
    
         
            -
                   
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
      
 30 
     | 
    
         
            +
                  Dir.mktmpdir('mamiya-script-spec') do |tmpdir|
         
     | 
| 
      
 31 
     | 
    
         
            +
                    testee = File.join(tmpdir, 'test')
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                    expect {
         
     | 
| 
      
 34 
     | 
    
         
            +
                      script.run("touch", testee)
         
     | 
| 
      
 35 
     | 
    
         
            +
                    } \
         
     | 
| 
      
 36 
     | 
    
         
            +
                      .to change { File.exists?(testee) } \
         
     | 
| 
      
 37 
     | 
    
         
            +
                      .from(false).to(true)
         
     | 
| 
      
 38 
     | 
    
         
            +
                  end
         
     | 
| 
       38 
39 
     | 
    
         
             
                end
         
     | 
| 
       39 
40 
     | 
    
         | 
| 
       40 
41 
     | 
    
         
             
                context "when given environment variables" do
         
     | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | 
         @@ -27,7 +27,8 @@ unless ENV["ENABLE_LOG"] 
     | 
|
| 
       27 
27 
     | 
    
         
             
            end
         
     | 
| 
       28 
28 
     | 
    
         | 
| 
       29 
29 
     | 
    
         
             
            RSpec.configure do |config|
         
     | 
| 
       30 
     | 
    
         
            -
              config. 
     | 
| 
      
 30 
     | 
    
         
            +
              config.raise_errors_for_deprecations!
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
       31 
32 
     | 
    
         
             
              config.run_all_when_everything_filtered = true
         
     | 
| 
       32 
33 
     | 
    
         
             
              config.filter_run :focus
         
     | 
| 
       33 
34 
     | 
    
         | 
| 
         @@ -40,4 +41,12 @@ RSpec.configure do |config| 
     | 
|
| 
       40 
41 
     | 
    
         
             
              config.after(:each) do
         
     | 
| 
       41 
42 
     | 
    
         
             
                Mamiya::Storages::Mock.clear
         
     | 
| 
       42 
43 
     | 
    
         
             
              end
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
              config.before(:suite) do
         
     | 
| 
      
 46 
     | 
    
         
            +
                %w(AWS_ACCESS_KEY AWS_ACCESS_KEY_ID AMAZON_ACCESS_KEY_ID
         
     | 
| 
      
 47 
     | 
    
         
            +
                   AWS_SECRET_KEY AWS_SECRET_ACCESS_KEY AMAZON_SECRET_ACCESS_KEY
         
     | 
| 
      
 48 
     | 
    
         
            +
                   AWS_SESSION_TOKEN AMAZON_SESSION_TOKEN).each do |key|
         
     | 
| 
      
 49 
     | 
    
         
            +
                  ENV.delete key
         
     | 
| 
      
 50 
     | 
    
         
            +
                end
         
     | 
| 
      
 51 
     | 
    
         
            +
              end
         
     | 
| 
       43 
52 
     | 
    
         
             
            end
         
     | 
    
        data/spec/steps/build_spec.rb
    CHANGED
    
    | 
         @@ -88,7 +88,7 @@ describe Mamiya::Steps::Build do 
     | 
|
| 
       88 
88 
     | 
    
         | 
| 
       89 
89 
     | 
    
         
             
                it "calls build hook in :build_from (pwd)" do
         
     | 
| 
       90 
90 
     | 
    
         
             
                  pwd = nil
         
     | 
| 
       91 
     | 
    
         
            -
                  script. 
     | 
| 
      
 91 
     | 
    
         
            +
                  allow(script).to receive_messages(build: proc { pwd = Dir.pwd })
         
     | 
| 
       92 
92 
     | 
    
         | 
| 
       93 
93 
     | 
    
         
             
                  expect {
         
     | 
| 
       94 
94 
     | 
    
         
             
                    build_step.run!
         
     | 
| 
         @@ -114,7 +114,7 @@ describe Mamiya::Steps::Build do 
     | 
|
| 
       114 
114 
     | 
    
         
             
                          package_under: 'foo',
         
     | 
| 
       115 
115 
     | 
    
         
             
                        )
         
     | 
| 
       116 
116 
     | 
    
         
             
                      ) {
         
     | 
| 
       117 
     | 
    
         
            -
                    expect(built).to  
     | 
| 
      
 117 
     | 
    
         
            +
                    expect(built).to be true
         
     | 
| 
       118 
118 
     | 
    
         
             
                  }
         
     | 
| 
       119 
119 
     | 
    
         | 
| 
       120 
120 
     | 
    
         
             
                  build_step.run!
         
     | 
    
        data/spec/steps/prepare_spec.rb
    CHANGED
    
    
    
        data/spec/steps/switch_spec.rb
    CHANGED
    
    | 
         @@ -88,7 +88,7 @@ describe Mamiya::Steps::Switch do 
     | 
|
| 
       88 
88 
     | 
    
         | 
| 
       89 
89 
     | 
    
         
             
                it "calls hook in :target (pwd)" do
         
     | 
| 
       90 
90 
     | 
    
         
             
                  pwd = nil
         
     | 
| 
       91 
     | 
    
         
            -
                  script. 
     | 
| 
      
 91 
     | 
    
         
            +
                  allow(script).to receive_messages(release: proc { pwd = Dir.pwd })
         
     | 
| 
       92 
92 
     | 
    
         | 
| 
       93 
93 
     | 
    
         
             
                  expect {
         
     | 
| 
       94 
94 
     | 
    
         
             
                    step.run!
         
     | 
| 
         @@ -132,7 +132,7 @@ describe Mamiya::Steps::Switch do 
     | 
|
| 
       132 
132 
     | 
    
         
             
                    allow(script).to receive(:after_switch).and_return(proc { called = true })
         
     | 
| 
       133 
133 
     | 
    
         
             
                    step.run!
         
     | 
| 
       134 
134 
     | 
    
         | 
| 
       135 
     | 
    
         
            -
                    expect(called).to  
     | 
| 
      
 135 
     | 
    
         
            +
                    expect(called).to be false
         
     | 
| 
       136 
136 
     | 
    
         
             
                  end
         
     | 
| 
       137 
137 
     | 
    
         | 
| 
       138 
138 
     | 
    
         
             
                  context "with do_release" do
         
     | 
| 
         @@ -182,7 +182,7 @@ describe Mamiya::Steps::Switch do 
     | 
|
| 
       182 
182 
     | 
    
         
             
                    allow(script).to receive(:release).and_return(proc { called = true })
         
     | 
| 
       183 
183 
     | 
    
         
             
                    step.run!
         
     | 
| 
       184 
184 
     | 
    
         | 
| 
       185 
     | 
    
         
            -
                    expect(called).to  
     | 
| 
      
 185 
     | 
    
         
            +
                    expect(called).to be false
         
     | 
| 
       186 
186 
     | 
    
         
             
                  end
         
     | 
| 
       187 
187 
     | 
    
         
             
                end
         
     | 
| 
       188 
188 
     | 
    
         
             
              end
         
     | 
| 
         @@ -40,7 +40,7 @@ describe Mamiya::Storages::Filesystem do 
     | 
|
| 
       40 
40 
     | 
    
         | 
| 
       41 
41 
     | 
    
         
             
                context "when not built" do
         
     | 
| 
       42 
42 
     | 
    
         
             
                  before do
         
     | 
| 
       43 
     | 
    
         
            -
                    package. 
     | 
| 
      
 43 
     | 
    
         
            +
                    allow(package).to receive_messages(:exists? => false)
         
     | 
| 
       44 
44 
     | 
    
         
             
                  end
         
     | 
| 
       45 
45 
     | 
    
         | 
| 
       46 
46 
     | 
    
         
             
                  it "raises error" do
         
     | 
| 
         @@ -128,7 +128,7 @@ describe Mamiya::Storages::Filesystem do 
     | 
|
| 
       128 
128 
     | 
    
         
             
                      fetch
         
     | 
| 
       129 
129 
     | 
    
         
             
                    rescue Mamiya::Storages::Abstract::AlreadyFetched; end
         
     | 
| 
       130 
130 
     | 
    
         | 
| 
       131 
     | 
    
         
            -
                    expect(File.exist?(metafile)).to  
     | 
| 
      
 131 
     | 
    
         
            +
                    expect(File.exist?(metafile)).to be true
         
     | 
| 
       132 
132 
     | 
    
         
             
                  end
         
     | 
| 
       133 
133 
     | 
    
         
             
                end
         
     | 
| 
       134 
134 
     | 
    
         | 
| 
         @@ -1,5 +1,4 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'spec_helper'
         
     | 
| 
       2 
     | 
    
         
            -
            require 'aws-sdk-core'
         
     | 
| 
       3 
2 
     | 
    
         
             
            require 'mamiya/package'
         
     | 
| 
       4 
3 
     | 
    
         
             
            require 'mamiya/storages/abstract'
         
     | 
| 
       5 
4 
     | 
    
         
             
            require 'mamiya/storages/s3_proxy'
         
     | 
| 
         @@ -112,7 +111,7 @@ describe Mamiya::Storages::S3Proxy do 
     | 
|
| 
       112 
111 
     | 
    
         
             
                      fetch
         
     | 
| 
       113 
112 
     | 
    
         
             
                    rescue Mamiya::Storages::Abstract::AlreadyFetched; end
         
     | 
| 
       114 
113 
     | 
    
         | 
| 
       115 
     | 
    
         
            -
                    expect(File.exist?(metafile)).to  
     | 
| 
      
 114 
     | 
    
         
            +
                    expect(File.exist?(metafile)).to be true
         
     | 
| 
       116 
115 
     | 
    
         
             
                  end
         
     | 
| 
       117 
116 
     | 
    
         
             
                end
         
     | 
| 
       118 
117 
     | 
    
         
             
              end
         
     | 
    
        data/spec/storages/s3_spec.rb
    CHANGED
    
    | 
         @@ -1,5 +1,4 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'spec_helper'
         
     | 
| 
       2 
     | 
    
         
            -
            require 'aws-sdk-core'
         
     | 
| 
       3 
2 
     | 
    
         
             
            require 'mamiya/package'
         
     | 
| 
       4 
3 
     | 
    
         
             
            require 'mamiya/storages/abstract'
         
     | 
| 
       5 
4 
     | 
    
         
             
            require 'mamiya/storages/s3'
         
     | 
| 
         @@ -8,14 +7,6 @@ require 'fileutils' 
     | 
|
| 
       8 
7 
     | 
    
         
             
            require 'stringio'
         
     | 
| 
       9 
8 
     | 
    
         | 
| 
       10 
9 
     | 
    
         
             
            describe Mamiya::Storages::S3 do
         
     | 
| 
       11 
     | 
    
         
            -
              before(:suite) do
         
     | 
| 
       12 
     | 
    
         
            -
                %w(AWS_ACCESS_KEY AWS_ACCESS_KEY_ID AMAZON_ACCESS_KEY_ID
         
     | 
| 
       13 
     | 
    
         
            -
                   AWS_SECRET_KEY AWS_SECRET_ACCESS_KEY AMAZON_SECRET_ACCESS_KEY
         
     | 
| 
       14 
     | 
    
         
            -
                   AWS_SESSION_TOKEN AMAZON_SESSION_TOKEN).each do |key|
         
     | 
| 
       15 
     | 
    
         
            -
                  ENV.delete key
         
     | 
| 
       16 
     | 
    
         
            -
                end
         
     | 
| 
       17 
     | 
    
         
            -
              end
         
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
10 
     | 
    
         
             
              let(:bucket) { 'testbucket' }
         
     | 
| 
       20 
11 
     | 
    
         
             
              let(:config) do
         
     | 
| 
       21 
12 
     | 
    
         
             
                {
         
     | 
| 
         @@ -76,7 +67,7 @@ describe Mamiya::Storages::S3 do 
     | 
|
| 
       76 
67 
     | 
    
         | 
| 
       77 
68 
     | 
    
         
             
                context "when not built" do
         
     | 
| 
       78 
69 
     | 
    
         
             
                  before do
         
     | 
| 
       79 
     | 
    
         
            -
                    package. 
     | 
| 
      
 70 
     | 
    
         
            +
                    allow(package).to receive_messages(:exists? => false)
         
     | 
| 
       80 
71 
     | 
    
         
             
                  end
         
     | 
| 
       81 
72 
     | 
    
         | 
| 
       82 
73 
     | 
    
         
             
                  it "raises error" do
         
     | 
| 
         @@ -171,7 +162,7 @@ describe Mamiya::Storages::S3 do 
     | 
|
| 
       171 
162 
     | 
    
         
             
                      fetch
         
     | 
| 
       172 
163 
     | 
    
         
             
                    rescue Mamiya::Storages::Abstract::AlreadyFetched; end
         
     | 
| 
       173 
164 
     | 
    
         | 
| 
       174 
     | 
    
         
            -
                    expect(File.exist?(metafile)).to  
     | 
| 
      
 165 
     | 
    
         
            +
                    expect(File.exist?(metafile)).to be true
         
     | 
| 
       175 
166 
     | 
    
         
             
                  end
         
     | 
| 
       176 
167 
     | 
    
         
             
                end
         
     | 
| 
       177 
168 
     | 
    
         | 
| 
         @@ -6,31 +6,31 @@ describe Mamiya::Util::LabelMatcher do 
     | 
|
| 
       6 
6 
     | 
    
         
             
                let(:str) { '' }
         
     | 
| 
       7 
7 
     | 
    
         
             
                subject { described_class.parse_string_expr(str) }
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
                it {  
     | 
| 
      
 9 
     | 
    
         
            +
                it { is_expected.to eq [] }
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
                describe "(simple)" do
         
     | 
| 
       12 
12 
     | 
    
         
             
                  let(:str) { 'foo' }
         
     | 
| 
       13 
     | 
    
         
            -
                  it {  
     | 
| 
      
 13 
     | 
    
         
            +
                  it { is_expected.to eq [['foo']] }
         
     | 
| 
       14 
14 
     | 
    
         
             
                end
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         
             
                describe "(and)" do
         
     | 
| 
       17 
17 
     | 
    
         
             
                  let(:str) { 'foo,bar' }
         
     | 
| 
       18 
     | 
    
         
            -
                  it {  
     | 
| 
      
 18 
     | 
    
         
            +
                  it { is_expected.to eq [['foo','bar']] }
         
     | 
| 
       19 
19 
     | 
    
         
             
                end
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
                describe "(or)" do
         
     | 
| 
       22 
22 
     | 
    
         
             
                  let(:str) { 'foo|bar' }
         
     | 
| 
       23 
     | 
    
         
            -
                  it {  
     | 
| 
      
 23 
     | 
    
         
            +
                  it { is_expected.to eq [['foo'],['bar']] }
         
     | 
| 
       24 
24 
     | 
    
         
             
                end
         
     | 
| 
       25 
25 
     | 
    
         | 
| 
       26 
26 
     | 
    
         
             
                describe "(and/or)" do
         
     | 
| 
       27 
27 
     | 
    
         
             
                  let(:str) { 'foo,bar|baz' }
         
     | 
| 
       28 
     | 
    
         
            -
                  it {  
     | 
| 
      
 28 
     | 
    
         
            +
                  it { is_expected.to eq [['foo','bar'],['baz']] }
         
     | 
| 
       29 
29 
     | 
    
         
             
                end
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
       31 
31 
     | 
    
         
             
                describe "(and/or 2)" do
         
     | 
| 
       32 
32 
     | 
    
         
             
                  let(:str) { '1,2|3,4' }
         
     | 
| 
       33 
     | 
    
         
            -
                  it {  
     | 
| 
      
 33 
     | 
    
         
            +
                  it { is_expected.to eq [['1','2'],['3','4']] }
         
     | 
| 
       34 
34 
     | 
    
         
             
                end
         
     | 
| 
       35 
35 
     | 
    
         
             
              end
         
     | 
| 
       36 
36 
     | 
    
         | 
| 
         @@ -54,63 +54,63 @@ describe Mamiya::Util::LabelMatcher do 
     | 
|
| 
       54 
54 
     | 
    
         
             
                context "when expression is Array<Symbol>" do
         
     | 
| 
       55 
55 
     | 
    
         
             
                  context "and match" do
         
     | 
| 
       56 
56 
     | 
    
         
             
                    let(:expression) { [[:a, :d]] }
         
     | 
| 
       57 
     | 
    
         
            -
                    it {  
     | 
| 
      
 57 
     | 
    
         
            +
                    it { is_expected.to eq true }
         
     | 
| 
       58 
58 
     | 
    
         
             
                  end
         
     | 
| 
       59 
59 
     | 
    
         | 
| 
       60 
60 
     | 
    
         
             
                  context "and match (2)" do
         
     | 
| 
       61 
61 
     | 
    
         
             
                    let(:expression) { [[:a]] }
         
     | 
| 
       62 
     | 
    
         
            -
                    it {  
     | 
| 
      
 62 
     | 
    
         
            +
                    it { is_expected.to eq true }
         
     | 
| 
       63 
63 
     | 
    
         
             
                  end
         
     | 
| 
       64 
64 
     | 
    
         | 
| 
       65 
65 
     | 
    
         
             
                  context "and not match" do
         
     | 
| 
       66 
66 
     | 
    
         
             
                    let(:expression) { [[:a, :c]] }
         
     | 
| 
       67 
     | 
    
         
            -
                    it {  
     | 
| 
      
 67 
     | 
    
         
            +
                    it { is_expected.to eq false }
         
     | 
| 
       68 
68 
     | 
    
         
             
                  end
         
     | 
| 
       69 
69 
     | 
    
         
             
                end
         
     | 
| 
       70 
70 
     | 
    
         | 
| 
       71 
71 
     | 
    
         
             
                context "when expression is Symbol" do
         
     | 
| 
       72 
72 
     | 
    
         
             
                  context "and match" do
         
     | 
| 
       73 
73 
     | 
    
         
             
                    let(:expression) { [:a] }
         
     | 
| 
       74 
     | 
    
         
            -
                    it {  
     | 
| 
      
 74 
     | 
    
         
            +
                    it { is_expected.to eq true }
         
     | 
| 
       75 
75 
     | 
    
         
             
                  end
         
     | 
| 
       76 
76 
     | 
    
         | 
| 
       77 
77 
     | 
    
         
             
                  context "and not match" do
         
     | 
| 
       78 
78 
     | 
    
         
             
                    let(:expression) { [:c] }
         
     | 
| 
       79 
     | 
    
         
            -
                    it {  
     | 
| 
      
 79 
     | 
    
         
            +
                    it { is_expected.to eq false }
         
     | 
| 
       80 
80 
     | 
    
         
             
                  end
         
     | 
| 
       81 
81 
     | 
    
         
             
                end
         
     | 
| 
       82 
82 
     | 
    
         | 
| 
       83 
83 
     | 
    
         
             
                context "when all expressions are Symbol" do
         
     | 
| 
       84 
84 
     | 
    
         
             
                  context "and match" do
         
     | 
| 
       85 
85 
     | 
    
         
             
                    let(:expression) { [:a, :b] }
         
     | 
| 
       86 
     | 
    
         
            -
                    it {  
     | 
| 
      
 86 
     | 
    
         
            +
                    it { is_expected.to eq true }
         
     | 
| 
       87 
87 
     | 
    
         
             
                  end
         
     | 
| 
       88 
88 
     | 
    
         | 
| 
       89 
89 
     | 
    
         
             
                  context "and not match" do
         
     | 
| 
       90 
90 
     | 
    
         
             
                    let(:expression) { [:a, :c] }
         
     | 
| 
       91 
     | 
    
         
            -
                    it {  
     | 
| 
      
 91 
     | 
    
         
            +
                    it { is_expected.to eq false }
         
     | 
| 
       92 
92 
     | 
    
         
             
                  end
         
     | 
| 
       93 
93 
     | 
    
         
             
                end
         
     | 
| 
       94 
94 
     | 
    
         | 
| 
       95 
95 
     | 
    
         
             
                context "when expression is Array<Array> (recursive call)" do
         
     | 
| 
       96 
96 
     | 
    
         
             
                  describe "(case A)" do
         
     | 
| 
       97 
97 
     | 
    
         
             
                    let(:expression) { [ [[:a, :c], [:b, :d]] ] }
         
     | 
| 
       98 
     | 
    
         
            -
                    it {  
     | 
| 
      
 98 
     | 
    
         
            +
                    it { is_expected.to eq true }
         
     | 
| 
       99 
99 
     | 
    
         
             
                  end
         
     | 
| 
       100 
100 
     | 
    
         | 
| 
       101 
101 
     | 
    
         
             
                  describe "(case B)" do
         
     | 
| 
       102 
102 
     | 
    
         
             
                    let(:expression) { [ [[:a]] ] }
         
     | 
| 
       103 
     | 
    
         
            -
                    it {  
     | 
| 
      
 103 
     | 
    
         
            +
                    it { is_expected.to eq true }
         
     | 
| 
       104 
104 
     | 
    
         
             
                  end
         
     | 
| 
       105 
105 
     | 
    
         | 
| 
       106 
106 
     | 
    
         
             
                  describe "(case C)" do
         
     | 
| 
       107 
107 
     | 
    
         
             
                    let(:expression) { [ [[:c]] ] }
         
     | 
| 
       108 
     | 
    
         
            -
                    it {  
     | 
| 
      
 108 
     | 
    
         
            +
                    it { is_expected.to eq false }
         
     | 
| 
       109 
109 
     | 
    
         
             
                  end
         
     | 
| 
       110 
110 
     | 
    
         | 
| 
       111 
111 
     | 
    
         
             
                  describe "(case D)" do
         
     | 
| 
       112 
112 
     | 
    
         
             
                    let(:expression) { [ [[:a, :c], :b] ] }
         
     | 
| 
       113 
     | 
    
         
            -
                    it {  
     | 
| 
      
 113 
     | 
    
         
            +
                    it { is_expected.to eq true }
         
     | 
| 
       114 
114 
     | 
    
         
             
                  end
         
     | 
| 
       115 
115 
     | 
    
         
             
                end
         
     | 
| 
       116 
116 
     | 
    
         
             
              end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: mamiya
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.3. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.3.4
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Shota Fukumori (sora_h)
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date:  
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2018-12-28 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: thor
         
     | 
| 
         @@ -25,19 +25,19 @@ dependencies: 
     | 
|
| 
       25 
25 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       26 
26 
     | 
    
         
             
                    version: 0.18.1
         
     | 
| 
       27 
27 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       28 
     | 
    
         
            -
              name: aws-sdk- 
     | 
| 
      
 28 
     | 
    
         
            +
              name: aws-sdk-s3
         
     | 
| 
       29 
29 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       30 
30 
     | 
    
         
             
                requirements:
         
     | 
| 
       31 
31 
     | 
    
         
             
                - - ">="
         
     | 
| 
       32 
32 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       33 
     | 
    
         
            -
                    version:  
     | 
| 
      
 33 
     | 
    
         
            +
                    version: '1'
         
     | 
| 
       34 
34 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       35 
35 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       36 
36 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       37 
37 
     | 
    
         
             
                requirements:
         
     | 
| 
       38 
38 
     | 
    
         
             
                - - ">="
         
     | 
| 
       39 
39 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       40 
     | 
    
         
            -
                    version:  
     | 
| 
      
 40 
     | 
    
         
            +
                    version: '1'
         
     | 
| 
       41 
41 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       42 
42 
     | 
    
         
             
              name: term-ansicolor
         
     | 
| 
       43 
43 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -98,16 +98,16 @@ dependencies: 
     | 
|
| 
       98 
98 
     | 
    
         
             
              name: rspec
         
     | 
| 
       99 
99 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       100 
100 
     | 
    
         
             
                requirements:
         
     | 
| 
       101 
     | 
    
         
            -
                - -  
     | 
| 
      
 101 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       102 
102 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       103 
     | 
    
         
            -
                    version:  
     | 
| 
      
 103 
     | 
    
         
            +
                    version: '3.0'
         
     | 
| 
       104 
104 
     | 
    
         
             
              type: :development
         
     | 
| 
       105 
105 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       106 
106 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       107 
107 
     | 
    
         
             
                requirements:
         
     | 
| 
       108 
     | 
    
         
            -
                - -  
     | 
| 
      
 108 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       109 
109 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       110 
     | 
    
         
            -
                    version:  
     | 
| 
      
 110 
     | 
    
         
            +
                    version: '3.0'
         
     | 
| 
       111 
111 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       112 
112 
     | 
    
         
             
              name: rack-test
         
     | 
| 
       113 
113 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -300,7 +300,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       300 
300 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       301 
301 
     | 
    
         
             
            requirements: []
         
     | 
| 
       302 
302 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       303 
     | 
    
         
            -
            rubygems_version: 2. 
     | 
| 
      
 303 
     | 
    
         
            +
            rubygems_version: 2.6.13
         
     | 
| 
       304 
304 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       305 
305 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       306 
306 
     | 
    
         
             
            summary: Fast deploy tool using tarballs and serf
         
     |