bucket_client 0.1.3 → 0.1.4

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: c75f9ede2d5fdb2091d0077bf6b438a907e30db0f23af72be2c9d59ffb408d06
4
- data.tar.gz: '07190bb3319a3939020f777a6bd2c3f57404fa3a5667047a60c81bbea8db1ac9'
3
+ metadata.gz: e2e7878f4f4ed3bd12228c1a4d8dbb66a4e431e86422b1d0304f579121f4cde5
4
+ data.tar.gz: 9b080d870a4058cfcb1f4271f8dc386306208b965229554b7307d5e5a8dc53c4
5
5
  SHA512:
6
- metadata.gz: 8dc252cad1f57768b7ba2c8b88caa29b221306b85ae137174b53f50bdd661978568b69ef835163590022456d8771c1f99c183b8e9e4c0eccd2381c00db3d7ee3
7
- data.tar.gz: 6e22a33052f35639886d969fdc2ac21fcc89941b663d36a63d138053152021f021381a9721680f975c344d8fe6c1c3196f56b32b6634baa3130c2f1ceff2c583
6
+ metadata.gz: f81d2598301637ad9a57b996c5628cfa6e60e314d59f89944069782861476fbcf9deaed91da0854308de038e521c45f9334e591acb9bbfa7b0386c80d48387ad
7
+ data.tar.gz: 10709c8fdb6598c7b92b33b97e6a7034f77c243de3177898a0f96f49796ffb62c514b62e4db0169b83dd04aab978f7185c2827644b3539a0e85d8145ec37a122
@@ -2,7 +2,7 @@
2
2
  <module type="RUBY_MODULE" version="4">
3
3
  <component name="ModuleRunConfigurationManager">
4
4
  <shared>
5
- <configuration default="false" name="Unit Test" type="RSpecRunConfigurationType" factoryName="RSpec" singleton="false">
5
+ <configuration default="false" name="Integration Test" type="RSpecRunConfigurationType" factoryName="RSpec">
6
6
  <module name="bucket_client" />
7
7
  <predefined_log_file enabled="true" id="RUBY_RSPEC" />
8
8
  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="" />
@@ -12,7 +12,7 @@
12
12
  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
13
13
  <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
14
14
  <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
15
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov" />
15
+ <EXTENSION ID="RubyDockerContainerSettingsRunConfigurationExtension" dockerComposeCommand="EXEC" />
16
16
  <EXTENSION ID="net.ashald.envfile">
17
17
  <option name="IS_ENABLED" value="false" />
18
18
  <option name="IS_SUBST" value="false" />
@@ -22,7 +22,7 @@
22
22
  <ENTRY IS_ENABLED="true" PARSER="runconfig" />
23
23
  </ENTRIES>
24
24
  </EXTENSION>
25
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="$MODULE_DIR$/spec" />
25
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="$MODULE_DIR$/integration" />
26
26
  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
27
27
  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
28
28
  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
@@ -37,7 +37,7 @@
37
37
  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
38
38
  <method v="2" />
39
39
  </configuration>
40
- <configuration default="false" name="Integration Test" type="RSpecRunConfigurationType" factoryName="RSpec">
40
+ <configuration default="false" name="Unit Test" type="RSpecRunConfigurationType" factoryName="RSpec" singleton="false">
41
41
  <module name="bucket_client" />
42
42
  <predefined_log_file enabled="true" id="RUBY_RSPEC" />
43
43
  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="" />
@@ -47,7 +47,7 @@
47
47
  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
48
48
  <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
49
49
  <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
50
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov" />
50
+ <EXTENSION ID="RubyDockerContainerSettingsRunConfigurationExtension" dockerComposeCommand="EXEC" />
51
51
  <EXTENSION ID="net.ashald.envfile">
52
52
  <option name="IS_ENABLED" value="false" />
53
53
  <option name="IS_SUBST" value="false" />
@@ -57,7 +57,7 @@
57
57
  <ENTRY IS_ENABLED="true" PARSER="runconfig" />
58
58
  </ENTRIES>
59
59
  </EXTENSION>
60
- <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="$MODULE_DIR$/integration" />
60
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="$MODULE_DIR$/spec" />
61
61
  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
62
62
  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
63
63
  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
@@ -76,48 +76,46 @@
76
76
  </component>
77
77
  <component name="NewModuleRootManager">
78
78
  <content url="file://$MODULE_DIR$" />
79
- <orderEntry type="inheritedJdk" />
79
+ <orderEntry type="jdk" jdkName="Remote: ruby-2.6.0-p0" jdkType="RUBY_SDK" />
80
80
  <orderEntry type="sourceFolder" forTests="false" />
81
- <orderEntry type="library" scope="PROVIDED" name="addressable (v2.6.0, ruby-2.6.0-p0) [gem]" level="application" />
82
- <orderEntry type="library" scope="PROVIDED" name="azure-core (v0.1.15, ruby-2.6.0-p0) [gem]" level="application" />
83
- <orderEntry type="library" scope="PROVIDED" name="azure-storage-blob (v1.1.0, ruby-2.6.0-p0) [gem]" level="application" />
84
- <orderEntry type="library" scope="PROVIDED" name="azure-storage-common (v1.1.0, ruby-2.6.0-p0) [gem]" level="application" />
85
- <orderEntry type="library" scope="PROVIDED" name="bundler (v1.17.2, ruby-2.6.0-p0) [gem]" level="application" />
86
- <orderEntry type="library" scope="PROVIDED" name="declarative (v0.0.10, ruby-2.6.0-p0) [gem]" level="application" />
87
- <orderEntry type="library" scope="PROVIDED" name="declarative-option (v0.1.0, ruby-2.6.0-p0) [gem]" level="application" />
88
- <orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.3, ruby-2.6.0-p0) [gem]" level="application" />
89
- <orderEntry type="library" scope="PROVIDED" name="digest-crc (v0.4.1, ruby-2.6.0-p0) [gem]" level="application" />
90
- <orderEntry type="library" scope="PROVIDED" name="dotenv (v2.7.1, ruby-2.6.0-p0) [gem]" level="application" />
91
- <orderEntry type="library" scope="PROVIDED" name="faraday (v0.15.4, ruby-2.6.0-p0) [gem]" level="application" />
92
- <orderEntry type="library" scope="PROVIDED" name="faraday_middleware (v0.13.1, ruby-2.6.0-p0) [gem]" level="application" />
93
- <orderEntry type="library" scope="PROVIDED" name="google-api-client (v0.28.4, ruby-2.6.0-p0) [gem]" level="application" />
94
- <orderEntry type="library" scope="PROVIDED" name="google-cloud-core (v1.3.0, ruby-2.6.0-p0) [gem]" level="application" />
95
- <orderEntry type="library" scope="PROVIDED" name="google-cloud-env (v1.0.5, ruby-2.6.0-p0) [gem]" level="application" />
96
- <orderEntry type="library" scope="PROVIDED" name="google-cloud-storage (v1.17.0, ruby-2.6.0-p0) [gem]" level="application" />
97
- <orderEntry type="library" scope="PROVIDED" name="googleauth (v0.8.0, ruby-2.6.0-p0) [gem]" level="application" />
98
- <orderEntry type="library" scope="PROVIDED" name="httpclient (v2.8.3, ruby-2.6.0-p0) [gem]" level="application" />
99
- <orderEntry type="library" scope="PROVIDED" name="jwt (v2.1.0, ruby-2.6.0-p0) [gem]" level="application" />
100
- <orderEntry type="library" scope="PROVIDED" name="kirin_http (v0.1.1, ruby-2.6.0-p0) [gem]" level="application" />
101
- <orderEntry type="library" scope="PROVIDED" name="memoist (v0.16.0, ruby-2.6.0-p0) [gem]" level="application" />
102
- <orderEntry type="library" scope="PROVIDED" name="mime-types (v3.2.2, ruby-2.6.0-p0) [gem]" level="application" />
103
- <orderEntry type="library" scope="PROVIDED" name="mime-types-data (v3.2018.0812, ruby-2.6.0-p0) [gem]" level="application" />
104
- <orderEntry type="library" scope="PROVIDED" name="mimemagic (v0.3.3, ruby-2.6.0-p0) [gem]" level="application" />
105
- <orderEntry type="library" scope="PROVIDED" name="mini_portile2 (v2.4.0, ruby-2.6.0-p0) [gem]" level="application" />
106
- <orderEntry type="library" scope="PROVIDED" name="multi_json (v1.13.1, ruby-2.6.0-p0) [gem]" level="application" />
107
- <orderEntry type="library" scope="PROVIDED" name="multipart-post (v2.0.0, ruby-2.6.0-p0) [gem]" level="application" />
108
- <orderEntry type="library" scope="PROVIDED" name="nokogiri (v1.10.1, ruby-2.6.0-p0) [gem]" level="application" />
109
- <orderEntry type="library" scope="PROVIDED" name="os (v1.0.0, ruby-2.6.0-p0) [gem]" level="application" />
110
- <orderEntry type="library" scope="PROVIDED" name="ox (v2.10.0, ruby-2.6.0-p0) [gem]" level="application" />
111
- <orderEntry type="library" scope="PROVIDED" name="public_suffix (v3.0.3, ruby-2.6.0-p0) [gem]" level="application" />
112
- <orderEntry type="library" scope="PROVIDED" name="rake (v10.5.0, ruby-2.6.0-p0) [gem]" level="application" />
113
- <orderEntry type="library" scope="PROVIDED" name="representable (v3.0.4, ruby-2.6.0-p0) [gem]" level="application" />
114
- <orderEntry type="library" scope="PROVIDED" name="retriable (v3.1.2, ruby-2.6.0-p0) [gem]" level="application" />
115
- <orderEntry type="library" scope="PROVIDED" name="rspec (v3.8.0, ruby-2.6.0-p0) [gem]" level="application" />
116
- <orderEntry type="library" scope="PROVIDED" name="rspec-core (v3.8.0, ruby-2.6.0-p0) [gem]" level="application" />
117
- <orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.8.2, ruby-2.6.0-p0) [gem]" level="application" />
118
- <orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.8.0, ruby-2.6.0-p0) [gem]" level="application" />
119
- <orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.8.0, ruby-2.6.0-p0) [gem]" level="application" />
120
- <orderEntry type="library" scope="PROVIDED" name="signet (v0.11.0, ruby-2.6.0-p0) [gem]" level="application" />
121
- <orderEntry type="library" scope="PROVIDED" name="uber (v0.1.0, ruby-2.6.0-p0) [gem]" level="application" />
81
+ <orderEntry type="library" scope="PROVIDED" name="addressable (v2.6.0, Remote: ruby-2.6.0-p0) [gem]" level="application" />
82
+ <orderEntry type="library" scope="PROVIDED" name="azure-core (v0.1.15, Remote: ruby-2.6.0-p0) [gem]" level="application" />
83
+ <orderEntry type="library" scope="PROVIDED" name="azure-storage-blob (v1.1.0, Remote: ruby-2.6.0-p0) [gem]" level="application" />
84
+ <orderEntry type="library" scope="PROVIDED" name="azure-storage-common (v1.1.0, Remote: ruby-2.6.0-p0) [gem]" level="application" />
85
+ <orderEntry type="library" scope="PROVIDED" name="bundler (v1.17.2, Remote: ruby-2.6.0-p0) [gem]" level="application" />
86
+ <orderEntry type="library" scope="PROVIDED" name="declarative (v0.0.10, Remote: ruby-2.6.0-p0) [gem]" level="application" />
87
+ <orderEntry type="library" scope="PROVIDED" name="declarative-option (v0.1.0, Remote: ruby-2.6.0-p0) [gem]" level="application" />
88
+ <orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.3, Remote: ruby-2.6.0-p0) [gem]" level="application" />
89
+ <orderEntry type="library" scope="PROVIDED" name="digest-crc (v0.4.1, Remote: ruby-2.6.0-p0) [gem]" level="application" />
90
+ <orderEntry type="library" scope="PROVIDED" name="dotenv (v2.7.1, Remote: ruby-2.6.0-p0) [gem]" level="application" />
91
+ <orderEntry type="library" scope="PROVIDED" name="faraday (v0.15.4, Remote: ruby-2.6.0-p0) [gem]" level="application" />
92
+ <orderEntry type="library" scope="PROVIDED" name="faraday_middleware (v0.13.1, Remote: ruby-2.6.0-p0) [gem]" level="application" />
93
+ <orderEntry type="library" scope="PROVIDED" name="google-api-client (v0.28.4, Remote: ruby-2.6.0-p0) [gem]" level="application" />
94
+ <orderEntry type="library" scope="PROVIDED" name="google-cloud-core (v1.3.0, Remote: ruby-2.6.0-p0) [gem]" level="application" />
95
+ <orderEntry type="library" scope="PROVIDED" name="google-cloud-env (v1.0.5, Remote: ruby-2.6.0-p0) [gem]" level="application" />
96
+ <orderEntry type="library" scope="PROVIDED" name="google-cloud-storage (v1.17.0, Remote: ruby-2.6.0-p0) [gem]" level="application" />
97
+ <orderEntry type="library" scope="PROVIDED" name="googleauth (v0.8.0, Remote: ruby-2.6.0-p0) [gem]" level="application" />
98
+ <orderEntry type="library" scope="PROVIDED" name="httpclient (v2.8.3, Remote: ruby-2.6.0-p0) [gem]" level="application" />
99
+ <orderEntry type="library" scope="PROVIDED" name="jwt (v2.1.0, Remote: ruby-2.6.0-p0) [gem]" level="application" />
100
+ <orderEntry type="library" scope="PROVIDED" name="kirin_http (v0.1.1, Remote: ruby-2.6.0-p0) [gem]" level="application" />
101
+ <orderEntry type="library" scope="PROVIDED" name="memoist (v0.16.0, Remote: ruby-2.6.0-p0) [gem]" level="application" />
102
+ <orderEntry type="library" scope="PROVIDED" name="mime-types (v3.2.2, Remote: ruby-2.6.0-p0) [gem]" level="application" />
103
+ <orderEntry type="library" scope="PROVIDED" name="mime-types-data (v3.2018.0812, Remote: ruby-2.6.0-p0) [gem]" level="application" />
104
+ <orderEntry type="library" scope="PROVIDED" name="mimemagic (v0.3.3, Remote: ruby-2.6.0-p0) [gem]" level="application" />
105
+ <orderEntry type="library" scope="PROVIDED" name="mini_portile2 (v2.4.0, Remote: ruby-2.6.0-p0) [gem]" level="application" />
106
+ <orderEntry type="library" scope="PROVIDED" name="multi_json (v1.13.1, Remote: ruby-2.6.0-p0) [gem]" level="application" />
107
+ <orderEntry type="library" scope="PROVIDED" name="multipart-post (v2.0.0, Remote: ruby-2.6.0-p0) [gem]" level="application" />
108
+ <orderEntry type="library" scope="PROVIDED" name="nokogiri (v1.10.1, Remote: ruby-2.6.0-p0) [gem]" level="application" />
109
+ <orderEntry type="library" scope="PROVIDED" name="os (v1.0.0, Remote: ruby-2.6.0-p0) [gem]" level="application" />
110
+ <orderEntry type="library" scope="PROVIDED" name="ox (v2.10.0, Remote: ruby-2.6.0-p0) [gem]" level="application" />
111
+ <orderEntry type="library" scope="PROVIDED" name="public_suffix (v3.0.3, Remote: ruby-2.6.0-p0) [gem]" level="application" />
112
+ <orderEntry type="library" scope="PROVIDED" name="representable (v3.0.4, Remote: ruby-2.6.0-p0) [gem]" level="application" />
113
+ <orderEntry type="library" scope="PROVIDED" name="retriable (v3.1.2, Remote: ruby-2.6.0-p0) [gem]" level="application" />
114
+ <orderEntry type="library" scope="PROVIDED" name="rspec-core (v3.8.0, Remote: ruby-2.6.0-p0) [gem]" level="application" />
115
+ <orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.8.2, Remote: ruby-2.6.0-p0) [gem]" level="application" />
116
+ <orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.8.0, Remote: ruby-2.6.0-p0) [gem]" level="application" />
117
+ <orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.8.0, Remote: ruby-2.6.0-p0) [gem]" level="application" />
118
+ <orderEntry type="library" scope="PROVIDED" name="signet (v0.11.0, Remote: ruby-2.6.0-p0) [gem]" level="application" />
119
+ <orderEntry type="library" scope="PROVIDED" name="uber (v0.1.0, Remote: ruby-2.6.0-p0) [gem]" level="application" />
122
120
  </component>
123
121
  </module>
@@ -9,7 +9,7 @@
9
9
  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
10
10
  <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
11
11
  <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
12
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov" />
12
+ <EXTENSION ID="RubyDockerContainerSettingsRunConfigurationExtension" dockerComposeCommand="EXEC" />
13
13
  <EXTENSION ID="net.ashald.envfile">
14
14
  <option name="IS_ENABLED" value="false" />
15
15
  <option name="IS_SUBST" value="false" />
@@ -9,7 +9,7 @@
9
9
  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
10
10
  <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
11
11
  <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
12
- <EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov" />
12
+ <EXTENSION ID="RubyDockerContainerSettingsRunConfigurationExtension" dockerComposeCommand="EXEC" />
13
13
  <EXTENSION ID="net.ashald.envfile">
14
14
  <option name="IS_ENABLED" value="false" />
15
15
  <option name="IS_SUBST" value="false" />
@@ -1,6 +1,7 @@
1
1
  require "bucket_client/aws/aws_bucket"
2
2
  require "bucket_client/aws/aws_client"
3
3
  require "kirin_http"
4
+ require "base64"
4
5
 
5
6
  describe BucketClient::AWSBucket do
6
7
  http = KirinHttp::BasicClient.new
@@ -62,6 +63,16 @@ describe BucketClient::AWSBucket do
62
63
  expect(result).to be_truthy
63
64
  expect(result.value).to eq "https://s3-#{region}.amazonaws.com/#{key}/#{file}"
64
65
  end
66
+
67
+ it 'should succeed on MD files' do
68
+ f = "readme.md"
69
+ readme = "IyBSZWFkIG1lDQpISSBISSE="
70
+ readme_bin = Base64.decode64 readme
71
+ result = bucket.put_blob readme_bin, f
72
+ expect(result).to be_truthy
73
+ expect(result.value).to eq "https://s3-#{region}.amazonaws.com/#{key}/#{f}"
74
+ end
75
+
65
76
  end
66
77
 
67
78
  describe 'exist_blob' do
@@ -90,6 +101,13 @@ describe BucketClient::AWSBucket do
90
101
  result = bucket.delete_blob file
91
102
  expect(result.success).to be_truthy
92
103
  end
104
+
105
+ it 'should delete MD file too' do
106
+ f = "readme.md"
107
+ result = bucket.delete_blob f
108
+ expect(result.success).to be_truthy
109
+ end
110
+
93
111
  end
94
112
 
95
113
  describe "create_blob" do
@@ -60,6 +60,15 @@ describe BucketClient::AzureBucket do
60
60
  expect(result.success).to be_truthy
61
61
  expect(result.value).to eq "https://#{id}.blob.core.windows.net/#{key}/#{file}"
62
62
  end
63
+
64
+ it 'should succeed with MD files' do
65
+ f = "readme.md"
66
+ readme = "IyBSZWFkIG1lDQpISSBISSE="
67
+ readme_bin = Base64.decode64 readme
68
+ result = bucket.put_blob readme_bin, f
69
+ expect(result).to be_truthy
70
+ expect(result.value).to eq "https://#{id}.blob.core.windows.net/#{key}/#{f}"
71
+ end
63
72
  end
64
73
 
65
74
  describe 'exist_blob' do
@@ -88,6 +97,12 @@ describe BucketClient::AzureBucket do
88
97
  result = bucket.delete_blob file
89
98
  expect(result.success).to be_truthy
90
99
  end
100
+
101
+ it 'should delete MD file too' do
102
+ f = "readme.md"
103
+ result = bucket.delete_blob f
104
+ expect(result.success).to be_truthy
105
+ end
91
106
  end
92
107
 
93
108
  describe "create_blob" do
@@ -76,7 +76,7 @@ describe BucketClient::AzureClient do
76
76
  result = client.delete_bucket key
77
77
  expect(result.code).to eq 200
78
78
  expect(result.success).to be_truthy
79
- sleep(60)
79
+ sleep(30)
80
80
  end
81
81
  end
82
82
 
@@ -58,6 +58,15 @@ describe BucketClient::LocalBucket do
58
58
  expect(result).to be_truthy
59
59
  expect(result.value).to eq "#{host}/#{key}/#{file}"
60
60
  end
61
+
62
+ it 'should succeed with MD file' do
63
+ f = "readme.md"
64
+ readme = "IyBSZWFkIG1lDQpISSBISSE="
65
+ readme_bin = Base64.decode64 readme
66
+ result = bucket.put_blob readme_bin, f
67
+ expect(result).to be_truthy
68
+ expect(result.value).to eq "#{host}/#{key}/#{f}"
69
+ end
61
70
  end
62
71
 
63
72
  describe 'exist_blob' do
@@ -85,7 +94,12 @@ describe BucketClient::LocalBucket do
85
94
  it 'should pass as blob exist' do
86
95
  result = bucket.delete_blob file
87
96
  expect(result.success).to be_truthy
97
+ end
88
98
 
99
+ it 'should delete MD file too' do
100
+ f = "readme.md"
101
+ result = bucket.delete_blob f
102
+ expect(result.success).to be_truthy
89
103
  end
90
104
  end
91
105
 
@@ -62,6 +62,15 @@ describe BucketClient::DigitalOceanBucket do
62
62
  expect(result).to be_truthy
63
63
  expect(result.value).to eq "https://#{region}.digitaloceanspaces.com/#{key}/#{file}"
64
64
  end
65
+
66
+ it 'should succeed with md file' do
67
+ f = "readme.md"
68
+ readme = "IyBSZWFkIG1lDQpISSBISSE="
69
+ readme_bin = Base64.decode64 readme
70
+ result = bucket.put_blob readme_bin, f
71
+ expect(result).to be_truthy
72
+ expect(result.value).to eq "https://#{region}.digitaloceanspaces.com/#{key}/#{f}"
73
+ end
65
74
  end
66
75
 
67
76
  describe 'exist_blob' do
@@ -90,6 +99,12 @@ describe BucketClient::DigitalOceanBucket do
90
99
  result = bucket.delete_blob file
91
100
  expect(result.success).to be_truthy
92
101
  end
102
+
103
+ it 'should delete MD file too' do
104
+ f = "readme.md"
105
+ result = bucket.delete_blob f
106
+ expect(result.success).to be_truthy
107
+ end
93
108
  end
94
109
 
95
110
  describe "create_blob" do
@@ -60,6 +60,16 @@ describe BucketClient::GCPBucket do
60
60
  expect(result.success).to be_truthy
61
61
  expect(result.value).to eq "https://storage.googleapis.com/#{key}/#{file}"
62
62
  end
63
+
64
+ it 'should succeed for MD file' do
65
+ f = "readme.md"
66
+ readme = "IyBSZWFkIG1lDQpISSBISSE="
67
+ readme_bin = Base64.decode64 readme
68
+ result = bucket.put_blob readme_bin, f
69
+ expect(result).to be_truthy
70
+ expect(result.value).to eq "https://storage.googleapis.com/#{key}/#{f}"
71
+ end
72
+
63
73
  end
64
74
 
65
75
  describe 'exist_blob' do
@@ -88,6 +98,12 @@ describe BucketClient::GCPBucket do
88
98
  result = bucket.delete_blob file
89
99
  expect(result.success).to be_truthy
90
100
  end
101
+
102
+ it 'should delete MD file too' do
103
+ f = "readme.md"
104
+ result = bucket.delete_blob f
105
+ expect(result.success).to be_truthy
106
+ end
91
107
  end
92
108
 
93
109
  describe "create_blob" do
@@ -103,7 +103,7 @@ module BucketClient
103
103
 
104
104
  def put_blob(payload, uri)
105
105
  mime = MimeMagic.by_magic payload
106
- type = mime.type || "text/plain"
106
+ type = mime&.type || "text/plain"
107
107
  resp = @http.query(:put, uri, payload, type, "text/plain")
108
108
  success = resp.code === 200
109
109
  if success
@@ -142,7 +142,7 @@ module BucketClient
142
142
  mime = MimeMagic.by_magic payload
143
143
  data = break_uri uri
144
144
  begin
145
- type = mime.type || "text/plain"
145
+ type = mime&.type || "text/plain"
146
146
  @client.create_block_blob data[:bucket], data[:blob], payload, {:content_type => type}
147
147
  OperationResult.new(true, "OK", uri, 204)
148
148
  rescue Azure::Core::Http::HTTPError => e
@@ -127,7 +127,7 @@ module BucketClient
127
127
 
128
128
  def put_blob(payload, uri)
129
129
  mime = MimeMagic.by_magic payload
130
- type = mime.type || "text/plain"
130
+ type = mime&.type || "text/plain"
131
131
  resp = @http.query :put, uri, payload, type, "application/xml"
132
132
  return OperationResult.new(false, resp.content, nil, 400) unless resp.code === 200
133
133
  url = Addressable::URI.parse uri
@@ -111,7 +111,7 @@ module BucketClient
111
111
  bucket = @client.bucket data[:bucket]
112
112
  f = StringIO.new
113
113
  f << payload
114
- type = mime.type || "text/plain"
114
+ type = mime&.type || "text/plain"
115
115
  file = bucket.create_file f, data[:blob], cache_control: "no-cache", content_type: type
116
116
  OperationResult.new(true, "OK", file.public_url, 200)
117
117
  rescue StandardError => e
@@ -1,3 +1,3 @@
1
1
  module BucketClient
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bucket_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - kirinnee
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-04-25 00:00:00.000000000 Z
11
+ date: 2019-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kirin_http