fluent-plugin-azure-storage-append-blob 0.2.0 → 0.2.1

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
  SHA256:
3
- metadata.gz: 7640e2e4b681f3d556b69dfd6cce4483c5af1e3a98a92b9261c5a2d9e1365277
4
- data.tar.gz: 1fbc5232cbe8e50f6518fc41460e94ad59f9187d36fa8f3faf4800b5490b46d3
3
+ metadata.gz: 7a89c4f7d6a51e00949d27e329f80304d3eecb461bea1f4b87f65c799dceeaf4
4
+ data.tar.gz: dbaa1b0840aa9e99c3bced832851f8c24a65a664260a197e1537baafb341f01f
5
5
  SHA512:
6
- metadata.gz: cbc94f676ec13fec572539c98b82f200f6ef11659ca6745720eefcd2d71c7b34ac9287a9175b1a0bc1c84e6d70feaf7ceea5df8ad5c3af7600fffb52237356c2
7
- data.tar.gz: 1989910ce48aaffd875d4226c097e85d25c04cea12dbcc9c4cfad13560a52ae1406675544be27bf02981fc20f78e4da88bf07d3ffd58fcc7744f7a0ddaeeee44
6
+ metadata.gz: ff251e63e5ccbb5262713ef7a44b59c72b552a534a37eff2ae50d9342e1fcffc328569764c00f61059429441401269c505b221bff681b96737e8aa46a91358c3
7
+ data.tar.gz: a6ab02e79f9044cec9c08f3799442516c337900e484753d656403fe8c6ce9f62ac58b92056f45aa554d681d4372933e91408f54f99630a83106fefc716e4bade
@@ -2,6 +2,10 @@ name: Ruby Gem
2
2
 
3
3
  on:
4
4
  workflow_dispatch:
5
+ inputs:
6
+ otp:
7
+ description: 'One Time Password'
8
+ required: true
5
9
 
6
10
  jobs:
7
11
  build:
@@ -22,6 +26,6 @@ jobs:
22
26
  chmod 0600 $HOME/.gem/credentials
23
27
  printf -- "---\n:rubygems_api_key: ${RUBYGEMS_API_KEY}\n" > $HOME/.gem/credentials
24
28
  gem build *.gemspec
25
- gem push *.gem
29
+ gem push *.gem --otp ${{ github.event.inputs.otp }}
26
30
  env:
27
31
  RUBYGEMS_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = 'fluent-plugin-azure-storage-append-blob'
6
- spec.version = '0.2.0'
6
+ spec.version = '0.2.1'
7
7
  spec.authors = ['Microsoft Corporation']
8
8
  spec.email = ['']
9
9
 
@@ -150,10 +150,23 @@ module Fluent
150
150
  end
151
151
  end
152
152
 
153
+ def container_exists?(container)
154
+ begin
155
+ @bs.get_container_properties(container)
156
+ rescue Azure::Core::Http::HTTPError => ex
157
+ if ex.status_code == 404 # container does not exist
158
+ return false
159
+ else
160
+ raise
161
+ end
162
+ end
163
+ return true
164
+ end
165
+
153
166
  private
154
167
 
155
168
  def ensure_container
156
- unless @bs.list_containers.find { |c| c.name == @azure_container }
169
+ unless container_exists? @azure_container
157
170
  if @auto_create_container
158
171
  @bs.create_container(@azure_container)
159
172
  else
@@ -1,5 +1,7 @@
1
1
  require 'helper'
2
2
  require 'fluent/plugin/out_azure-storage-append-blob.rb'
3
+ require 'azure/core/http/http_response'
4
+ require 'azure/core/http/http_error'
3
5
 
4
6
  include Fluent::Test::Helpers
5
7
 
@@ -83,4 +85,53 @@ class AzureStorageAppendBlobOutTest < Test::Unit::TestCase
83
85
  assert_equal slice, Time.now.utc.strftime('log/%Y/%m/%d')
84
86
  end
85
87
  end
88
+
89
+ # This class is used to create an Azure::Core::Http::HTTPError. HTTPError parses
90
+ # a response object when it is created.
91
+ class FakeResponse
92
+ def initialize(status=404)
93
+ @status = status
94
+ @body = "body"
95
+ @headers = {}
96
+ end
97
+
98
+ attr_reader :status
99
+ attr_reader :body
100
+ attr_reader :headers
101
+ end
102
+
103
+ # This class is used to test plugin functions which interact with the blob service
104
+ class FakeBlobService
105
+ def initialize(status)
106
+ @response = Azure::Core::Http::HttpResponse.new(FakeResponse.new(status))
107
+ end
108
+
109
+ def get_container_properties(container)
110
+ unless @response.status_code == 200
111
+ raise Azure::Core::Http::HTTPError.new(@response)
112
+ end
113
+ end
114
+ end
115
+
116
+ sub_test_case 'test container_exists' do
117
+ test 'container 404 returns false' do
118
+ d = create_driver
119
+ d.instance.instance_variable_set(:@bs, FakeBlobService.new(404))
120
+ assert_false d.instance.container_exists? "anything"
121
+ end
122
+
123
+ test 'existing container returns true' do
124
+ d = create_driver
125
+ d.instance.instance_variable_set(:@bs, FakeBlobService.new(200))
126
+ assert_true d.instance.container_exists? "anything"
127
+ end
128
+
129
+ test 'unexpected exception raises' do
130
+ d = create_driver
131
+ d.instance.instance_variable_set(:@bs, FakeBlobService.new(500))
132
+ assert_raise_kind_of Azure::Core::Http::HTTPError do
133
+ d.instance.container_exists? "anything"
134
+ end
135
+ end
136
+ end
86
137
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-azure-storage-append-blob
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Microsoft Corporation
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-13 00:00:00.000000000 Z
11
+ date: 2020-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler