File: test_bucket.rb

package info (click to toggle)
ruby-aliyun-sdk 0.8.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 792 kB
  • sloc: ruby: 7,909; ansic: 204; makefile: 4
file content (73 lines) | stat: -rw-r--r-- 2,012 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
require 'minitest/autorun'
require 'yaml'
$LOAD_PATH.unshift(File.expand_path("../../lib", __FILE__))
require 'aliyun/oss'
require 'time'
require_relative 'config'

class TestBucket < Minitest::Test
  def setup
    Aliyun::Common::Logging.set_log_level(Logger::DEBUG)
    @client = Aliyun::OSS::Client.new(TestConf.creds)
    @bucket_name = TestConf.bucket + Time.now.to_i.to_s
    @client.create_bucket(@bucket_name)
    @bucket = @client.get_bucket(@bucket_name)
  end

  def teardown
    @client.delete_bucket(@bucket_name)
  end

  def test_bucket_versioning
    ret = @bucket.versioning
    assert_nil ret.status

    @bucket.versioning =  Aliyun::OSS::BucketVersioning.new(:status => 'Enabled')
    ret = @bucket.versioning
    assert_equal 'Enabled', ret.status

    @bucket.versioning =  Aliyun::OSS::BucketVersioning.new(:status => 'Suspended')
    ret = @bucket.versioning
    assert_equal 'Suspended', ret.status

  end

  def test_bucket_encryption

    begin
      ret = @bucket.encryption
      assert_raises "should not here"
    rescue => exception
    end  

    @bucket.encryption =  Aliyun::OSS::BucketEncryption.new(
      :enable => true,
      :sse_algorithm => 'KMS')
    ret = @bucket.encryption
    assert_equal 'KMS', ret.sse_algorithm
    assert_nil ret.kms_master_key_id

    @bucket.encryption =  Aliyun::OSS::BucketEncryption.new(
      :enable => true,
      :sse_algorithm => 'KMS',
      :kms_master_key_id => 'kms-id')
    ret = @bucket.encryption
    assert_equal 'KMS', ret.sse_algorithm
    assert_equal 'kms-id', ret.kms_master_key_id

    @bucket.encryption =  Aliyun::OSS::BucketEncryption.new(
      :enable => true,
      :sse_algorithm => 'AES256')
    ret = @bucket.encryption
    assert_equal 'AES256', ret.sse_algorithm
    assert_nil ret.kms_master_key_id

    @bucket.encryption =  Aliyun::OSS::BucketEncryption.new(
      :enable => false)
    begin
      ret = @bucket.encryption
      assert_raises "should not here"
    rescue => exception
    end  
  end
end