azure 0.7.0.pre → 0.7.0.pre2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.env_sample +3 -1
- data/.gitignore +15 -0
- data/LICENSE.txt +1 -1
- data/README.md +322 -248
- data/Rakefile +3 -1
- data/azure.gemspec +18 -14
- data/lib/azure.rb +124 -38
- data/lib/azure/base_management/base_management_service.rb +57 -69
- data/lib/azure/base_management/location.rb +1 -1
- data/lib/azure/base_management/management_http_request.rb +55 -58
- data/lib/azure/base_management/serialization.rb +5 -0
- data/lib/azure/base_management/sql_management_http_request.rb +10 -20
- data/lib/azure/blob/auth/shared_access_signature.rb +82 -76
- data/lib/azure/blob/blob_service.rb +196 -171
- data/lib/azure/client.rb +31 -0
- data/lib/azure/client_services.rb +98 -0
- data/lib/azure/cloud_service_management/cloud_service_management_service.rb +8 -10
- data/lib/azure/configurable.rb +290 -0
- data/lib/azure/core/auth/authorizer.rb +1 -1
- data/lib/azure/core/auth/shared_key.rb +48 -40
- data/lib/azure/core/auth/shared_key_lite.rb +9 -9
- data/lib/azure/core/auth/signer.rb +15 -12
- data/lib/azure/core/error.rb +2 -3
- data/lib/azure/core/filtered_service.rb +4 -3
- data/lib/azure/core/http/http_error.rb +10 -12
- data/lib/azure/core/http/http_request.rb +82 -69
- data/lib/azure/core/http/http_response.rb +12 -56
- data/lib/azure/core/http/signer_filter.rb +3 -4
- data/lib/azure/core/service.rb +8 -25
- data/lib/azure/core/signed_service.rb +7 -5
- data/lib/azure/core/utility.rb +45 -6
- data/lib/azure/default.rb +126 -0
- data/lib/azure/http_client.rb +85 -0
- data/lib/azure/queue/queue.rb +0 -1
- data/lib/azure/queue/queue_service.rb +6 -4
- data/lib/azure/queue/serialization.rb +0 -1
- data/lib/azure/service/storage_service.rb +9 -6
- data/lib/azure/service_bus/auth/shared_access_signer.rb +44 -0
- data/lib/azure/service_bus/auth/wrap_service.rb +5 -4
- data/lib/azure/service_bus/auth/wrap_signer.rb +14 -6
- data/lib/azure/service_bus/service_bus_service.rb +34 -30
- data/lib/azure/sql_database_management/errors.rb +11 -0
- data/lib/azure/sql_database_management/firewall_rule.rb +30 -0
- data/lib/azure/sql_database_management/serialization.rb +40 -53
- data/lib/azure/sql_database_management/sql_database_management_service.rb +141 -130
- data/lib/azure/sql_database_management/{sql_database.rb → sql_server.rb} +4 -3
- data/lib/azure/storage_management/storage_management_service.rb +9 -10
- data/lib/azure/table/auth/shared_key.rb +17 -50
- data/lib/azure/table/auth/shared_key_lite.rb +3 -3
- data/lib/azure/table/serialization.rb +24 -24
- data/lib/azure/table/table_service.rb +21 -18
- data/lib/azure/version.rb +1 -1
- data/lib/azure/virtual_machine_image_management/virtual_machine_image_management_service.rb +6 -12
- data/lib/azure/virtual_machine_management/serialization.rb +4 -1
- data/lib/azure/virtual_machine_management/virtual_machine.rb +1 -0
- data/lib/azure/virtual_machine_management/virtual_machine_management_service.rb +29 -37
- data/lib/azure/virtual_network_management/virtual_network_management_service.rb +5 -6
- data/test/fixtures/list_locations.xml +150 -0
- data/test/fixtures/list_sql_database.xml +6 -18
- data/test/fixtures/list_sql_server_firewall.xml +18 -18
- data/test/fixtures/management_certificate.pfx +0 -0
- data/test/fixtures/virtual_machine.xml +1 -0
- data/test/integration/affinity_group/Create_Affinity_test.rb +1 -1
- data/test/integration/affinity_group/Update_Affinity_test.rb +4 -0
- data/test/integration/blob/blob_gb18030_test.rb +29 -29
- data/test/integration/blob/blob_pages_test.rb +16 -16
- data/test/integration/blob/container/create_container_test.rb +6 -6
- data/test/integration/blob/container/root_container_test.rb +2 -1
- data/test/integration/database/create_sql_server_firewall_test.rb +26 -31
- data/test/integration/database/create_sql_server_test.rb +6 -6
- data/test/integration/database/delete_sql_server_firewall_test.rb +18 -24
- data/test/integration/database/delete_sql_server_test.rb +9 -22
- data/test/integration/database/list_sql_server_firewall_test.rb +7 -8
- data/test/integration/database/list_sql_servers_test.rb +4 -4
- data/test/integration/database/reset_password_sql_server_test.rb +9 -11
- data/test/integration/location/RoleSize_List_test.rb +35 -0
- data/test/integration/queue/list_queues_test.rb +0 -1
- data/test/integration/service_bus/queues_scenario_test.rb +11 -11
- data/test/integration/service_bus/queues_test.rb +2 -2
- data/test/integration/service_bus/subscriptions_test.rb +25 -25
- data/test/integration/service_bus/topics_scenario_test.rb +6 -6
- data/test/integration/service_bus/topics_test.rb +15 -15
- data/test/integration/table/query_entities_test.rb +1 -0
- data/test/integration/table/table_acl_test.rb +9 -9
- data/test/integration/test_helper.rb +11 -9
- data/test/integration/vm/VM_Create_test.rb +23 -20
- data/test/integration/vnet/Virtual_Network_list_test.rb +1 -1
- data/test/test_helper.rb +5 -0
- data/test/unit/affinity_group/affinity_group_test.rb +4 -4
- data/test/unit/base_management/base_management_service_test.rb +19 -0
- data/test/unit/base_management/location_test.rb +6 -6
- data/test/unit/base_management/role_size_test.rb +50 -0
- data/test/unit/blob/auth/shared_access_signature_test.rb +19 -19
- data/test/unit/blob/blob_service_test.rb +583 -582
- data/test/unit/cloud_service_management/cloud_service_management_service_test.rb +2 -2
- data/test/unit/config/azure_test.rb +112 -0
- data/test/unit/config/client_test.rb +37 -0
- data/test/unit/core/auth/shared_key_lite_test.rb +15 -15
- data/test/unit/core/auth/shared_key_test.rb +26 -26
- data/test/unit/core/http/http_error_test.rb +13 -14
- data/test/unit/core/http/http_request_test.rb +78 -53
- data/test/unit/core/http/http_response_test.rb +2 -27
- data/test/unit/core/http/retry_policy_test.rb +3 -3
- data/test/unit/core/utility_test.rb +122 -0
- data/test/unit/database/serialization_test.rb +17 -20
- data/test/unit/database/sql_database_server_service_test.rb +97 -40
- data/test/unit/http_client_test.rb +74 -0
- data/test/unit/service/storage_service_test.rb +105 -101
- data/test/unit/storage_management/storage_management_service_test.rb +28 -28
- data/test/unit/virtual_machine_image_management/virtual_machine_image_management_service_test.rb +4 -4
- data/test/unit/virtual_machine_management/virtual_machine_management_service_test.rb +37 -20
- data/test/unit/vnet/virtual_network_management_service_test.rb +1 -1
- metadata +91 -20
- data/lib/azure/core.rb +0 -41
- data/lib/azure/core/configuration.rb +0 -218
@@ -12,16 +12,16 @@
|
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
14
|
#--------------------------------------------------------------------------
|
15
|
-
require
|
16
|
-
require
|
15
|
+
require 'integration/test_helper'
|
16
|
+
require 'azure/blob/blob_service'
|
17
17
|
|
18
18
|
describe Azure::Blob::BlobService do
|
19
19
|
subject { Azure::Blob::BlobService.new }
|
20
20
|
after { TableNameHelper.clean }
|
21
21
|
|
22
22
|
let(:container_name) { ContainerNameHelper.name }
|
23
|
-
let(:blob_name) {
|
24
|
-
let(:blob_name2) {
|
23
|
+
let(:blob_name) { 'blobname' }
|
24
|
+
let(:blob_name2) { 'blobname2' }
|
25
25
|
let(:length) { 2560 }
|
26
26
|
before {
|
27
27
|
subject.create_container container_name
|
@@ -31,8 +31,8 @@ describe Azure::Blob::BlobService do
|
|
31
31
|
|
32
32
|
describe '#create_blob_pages' do
|
33
33
|
it 'creates pages in a page blob' do
|
34
|
-
content =
|
35
|
-
512.times.each{|i| content <<
|
34
|
+
content = ''
|
35
|
+
512.times.each{|i| content << '@' }
|
36
36
|
|
37
37
|
subject.create_blob_pages container_name, blob_name, 0, 511, content
|
38
38
|
subject.create_blob_pages container_name, blob_name, 1024, 1535, content
|
@@ -47,8 +47,8 @@ describe Azure::Blob::BlobService do
|
|
47
47
|
|
48
48
|
describe 'when the options hash is used' do
|
49
49
|
it 'if none match is specified' do
|
50
|
-
content =
|
51
|
-
512.times.each{|i| content <<
|
50
|
+
content = ''
|
51
|
+
512.times.each{|i| content << '@' }
|
52
52
|
|
53
53
|
blob = subject.create_blob_pages container_name, blob_name2, 0, 511, content
|
54
54
|
|
@@ -58,18 +58,18 @@ describe Azure::Blob::BlobService do
|
|
58
58
|
end
|
59
59
|
|
60
60
|
it 'if match is specified' do
|
61
|
-
content =
|
62
|
-
512.times.each{|i| content <<
|
61
|
+
content = ''
|
62
|
+
512.times.each{|i| content << '@' }
|
63
63
|
|
64
64
|
blob = subject.create_blob_pages container_name, blob_name, 0, 511, content
|
65
65
|
subject.create_blob_pages container_name, blob_name, 1024, 1535, content, { :if_match => blob.properties[:etag] }
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
69
|
-
describe
|
69
|
+
describe '#clear_blob_pages' do
|
70
70
|
before {
|
71
|
-
content =
|
72
|
-
512.times.each{|i| content <<
|
71
|
+
content = ''
|
72
|
+
512.times.each{|i| content << '@' }
|
73
73
|
|
74
74
|
subject.create_blob_pages container_name, blob_name, 0, 511, content
|
75
75
|
subject.create_blob_pages container_name, blob_name, 1024, 1535, content
|
@@ -85,7 +85,7 @@ describe Azure::Blob::BlobService do
|
|
85
85
|
ranges[2][1].must_equal 2559
|
86
86
|
}
|
87
87
|
|
88
|
-
describe
|
88
|
+
describe 'when both start_range and end_range are specified' do
|
89
89
|
it 'clears the data in page blobs within the provided range' do
|
90
90
|
subject.clear_blob_pages container_name, blob_name, 512, 1535
|
91
91
|
|
@@ -101,8 +101,8 @@ describe Azure::Blob::BlobService do
|
|
101
101
|
|
102
102
|
describe '#list_page_blob_ranges' do
|
103
103
|
before {
|
104
|
-
content =
|
105
|
-
512.times.each{|i| content <<
|
104
|
+
content = ''
|
105
|
+
512.times.each{|i| content << '@' }
|
106
106
|
|
107
107
|
subject.create_blob_pages container_name, blob_name, 0, 511, content
|
108
108
|
subject.create_blob_pages container_name, blob_name, 1024, 1535, content
|
@@ -12,9 +12,9 @@
|
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
14
|
#--------------------------------------------------------------------------
|
15
|
-
require
|
16
|
-
require
|
17
|
-
require
|
15
|
+
require 'integration/test_helper'
|
16
|
+
require 'azure/blob/blob_service'
|
17
|
+
require 'azure/core/http/http_error'
|
18
18
|
|
19
19
|
describe Azure::Blob::BlobService do
|
20
20
|
subject { Azure::Blob::BlobService.new }
|
@@ -29,7 +29,7 @@ describe Azure::Blob::BlobService do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it 'creates the container with custom metadata' do
|
32
|
-
metadata = {
|
32
|
+
metadata = { 'CustomMetadataProperty' => 'CustomMetadataValue'}
|
33
33
|
|
34
34
|
container = subject.create_container container_name, { :metadata => metadata }
|
35
35
|
|
@@ -44,7 +44,7 @@ describe Azure::Blob::BlobService do
|
|
44
44
|
end
|
45
45
|
|
46
46
|
it 'errors if the container already exists' do
|
47
|
-
|
47
|
+
subject.create_container container_name
|
48
48
|
|
49
49
|
assert_raises(Azure::Core::Http::HTTPError) do
|
50
50
|
subject.create_container container_name
|
@@ -53,7 +53,7 @@ describe Azure::Blob::BlobService do
|
|
53
53
|
|
54
54
|
it 'errors if the container name is invalid' do
|
55
55
|
assert_raises(Azure::Core::Http::HTTPError) do
|
56
|
-
subject.create_container
|
56
|
+
subject.create_container 'this_container.cannot-exist!'
|
57
57
|
end
|
58
58
|
end
|
59
59
|
end
|
@@ -45,9 +45,10 @@ describe Azure::Blob::BlobService do
|
|
45
45
|
blob.name.must_equal blob_name2
|
46
46
|
|
47
47
|
# empty string container name
|
48
|
-
blob = subject.create_page_blob
|
48
|
+
blob = subject.create_page_blob '', blob_name3, length
|
49
49
|
blob.name.must_equal blob_name3
|
50
50
|
rescue Azure::Core::Http::HTTPError => error
|
51
|
+
puts error.message
|
51
52
|
error.status_code.must_equal 409
|
52
53
|
end
|
53
54
|
end
|
@@ -12,15 +12,18 @@
|
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
14
|
#--------------------------------------------------------------------------
|
15
|
-
|
15
|
+
|
16
|
+
require 'integration/test_helper'
|
16
17
|
|
17
18
|
describe Azure::SqlDatabaseManagementService do
|
18
19
|
|
19
20
|
subject { Azure::SqlDatabaseManagementService.new }
|
20
|
-
let(:login_name) {'
|
21
|
+
let(:login_name) {'test_login_user'}
|
21
22
|
let(:sql_server) { subject.create_server(login_name, 'User1@123', WindowsImageLocation) }
|
23
|
+
let(:start_ip_address) { '0.0.0.0' }
|
24
|
+
let(:end_ip_address) { '255.255.255.255' }
|
22
25
|
|
23
|
-
describe
|
26
|
+
describe '#set_sql_server_firewall_rule' do
|
24
27
|
|
25
28
|
before {
|
26
29
|
Azure::Loggerx.expects(:puts).returns(nil).at_least(0)
|
@@ -31,55 +34,47 @@ describe Azure::SqlDatabaseManagementService do
|
|
31
34
|
}
|
32
35
|
|
33
36
|
it "should adds a new server-level firewall rule for a SQL Database server with requester's IP address." do
|
34
|
-
subject.set_sql_server_firewall_rule(sql_server.name,
|
37
|
+
subject.set_sql_server_firewall_rule(sql_server.name, 'rule1', start_ip_address, end_ip_address)
|
35
38
|
sql_server_firewalls = subject.list_sql_server_firewall_rules(sql_server.name)
|
36
|
-
sql_server_firewalls.wont_be_nil
|
37
39
|
sql_server_firewalls.must_be_kind_of Array
|
38
|
-
sql_server_firewalls.first.must_be_kind_of
|
40
|
+
sql_server_firewalls.first.must_be_kind_of Azure::SqlDatabaseManagement::FirewallRule
|
39
41
|
sql_server_firewalls.size.must_equal 1
|
40
42
|
firewall = sql_server_firewalls.first
|
41
|
-
firewall
|
42
|
-
firewall
|
43
|
-
firewall
|
43
|
+
firewall.name.must_equal 'rule1'
|
44
|
+
firewall.end_ip_address.wont_be_nil
|
45
|
+
firewall.start_ip_address.wont_be_nil
|
44
46
|
end
|
45
47
|
|
46
|
-
it
|
47
|
-
|
48
|
-
subject.set_sql_server_firewall_rule(sql_server.name, "rule2", ip_range)
|
48
|
+
it 'should adds a new server-level firewall rule for a SQL Database server with given IP range.' do
|
49
|
+
subject.set_sql_server_firewall_rule(sql_server.name, 'rule2', '10.20.30.0', '10.20.30.255')
|
49
50
|
sql_server_firewalls = subject.list_sql_server_firewall_rules(sql_server.name)
|
50
|
-
sql_server_firewalls.wont_be_nil
|
51
51
|
sql_server_firewalls.must_be_kind_of Array
|
52
|
-
sql_server_firewalls.first.must_be_kind_of
|
52
|
+
sql_server_firewalls.first.must_be_kind_of Azure::SqlDatabaseManagement::FirewallRule
|
53
53
|
sql_server_firewalls.size.must_equal 1
|
54
54
|
|
55
55
|
firewall = sql_server_firewalls.last
|
56
|
-
firewall
|
57
|
-
firewall
|
58
|
-
firewall
|
56
|
+
firewall.name.must_equal 'rule2'
|
57
|
+
firewall.end_ip_address.must_equal '10.20.30.255'
|
58
|
+
firewall.start_ip_address.must_equal '10.20.30.0'
|
59
59
|
end
|
60
60
|
|
61
|
-
it
|
62
|
-
|
63
|
-
subject.set_sql_server_firewall_rule(sql_server.name, "rule2", ip_range)
|
61
|
+
it 'should updates an existing server-level firewall rule for a SQL Database server.' do
|
62
|
+
subject.set_sql_server_firewall_rule(sql_server.name, 'rule2', '10.20.30.100', '10.20.30.150')
|
64
63
|
sql_server_firewalls = subject.list_sql_server_firewall_rules(sql_server.name)
|
65
|
-
firewall = sql_server_firewalls.last
|
66
|
-
sql_server_firewalls.wont_be_nil
|
67
64
|
sql_server_firewalls.must_be_kind_of Array
|
68
|
-
sql_server_firewalls.first.must_be_kind_of
|
65
|
+
sql_server_firewalls.first.must_be_kind_of Azure::SqlDatabaseManagement::FirewallRule
|
69
66
|
sql_server_firewalls.size.must_equal 1
|
70
67
|
|
71
68
|
firewall = sql_server_firewalls.last
|
72
|
-
firewall
|
73
|
-
firewall
|
74
|
-
firewall
|
69
|
+
firewall.name.must_equal 'rule2'
|
70
|
+
firewall.end_ip_address.must_equal '10.20.30.150'
|
71
|
+
firewall.start_ip_address.must_equal '10.20.30.100'
|
75
72
|
end
|
76
73
|
|
77
|
-
it
|
78
|
-
|
79
|
-
|
80
|
-
subject.set_sql_server_firewall_rule(server_name, "rule1")
|
74
|
+
it 'errors if the sql server does not exist' do
|
75
|
+
assert_raises(Azure::SqlDatabaseManagement::ServerDoesNotExist) do
|
76
|
+
subject.set_sql_server_firewall_rule('unknown-server', 'rule1')
|
81
77
|
end
|
82
|
-
assert_match(/does not have server #{server_name}./i, exception.message)
|
83
78
|
end
|
84
79
|
end
|
85
80
|
|
@@ -12,19 +12,19 @@
|
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
14
|
#--------------------------------------------------------------------------
|
15
|
-
require
|
15
|
+
require 'integration/test_helper'
|
16
16
|
|
17
17
|
describe Azure::SqlDatabaseManagementService do
|
18
18
|
|
19
19
|
subject { Azure::SqlDatabaseManagementService.new }
|
20
|
-
let(:login_name) {'
|
21
|
-
describe
|
20
|
+
let(:login_name) {'test_login'}
|
21
|
+
describe '#create_server' do
|
22
22
|
|
23
23
|
before {
|
24
24
|
Azure::Loggerx.expects(:puts).returns(nil).at_least(0)
|
25
25
|
}
|
26
26
|
|
27
|
-
it
|
27
|
+
it 'should be able to create a new sql database server.' do
|
28
28
|
sql_server = subject.create_server(login_name, 'User@123', WindowsImageLocation)
|
29
29
|
sql_server.name.wont_be_nil
|
30
30
|
sql_server.location.must_equal WindowsImageLocation
|
@@ -32,7 +32,7 @@ describe Azure::SqlDatabaseManagementService do
|
|
32
32
|
subject.delete_server sql_server.name
|
33
33
|
end
|
34
34
|
|
35
|
-
it
|
35
|
+
it 'errors if the sql server location does not exist' do
|
36
36
|
location = 'unknown-location'
|
37
37
|
exception = assert_raises(RuntimeError) do
|
38
38
|
subject.create_server(login_name, 'User@123', location)
|
@@ -40,7 +40,7 @@ describe Azure::SqlDatabaseManagementService do
|
|
40
40
|
assert_match(/Location \'#{location}\' cannot be found/i, exception.message)
|
41
41
|
end
|
42
42
|
|
43
|
-
it
|
43
|
+
it 'errors if the sql server passsword is invalid' do
|
44
44
|
password = 'weak'
|
45
45
|
exception = assert_raises(RuntimeError) do
|
46
46
|
subject.create_server(login_name, password, WindowsImageLocation)
|
@@ -12,56 +12,50 @@
|
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
14
|
#--------------------------------------------------------------------------
|
15
|
-
require
|
15
|
+
require 'integration/test_helper'
|
16
16
|
|
17
17
|
describe Azure::SqlDatabaseManagementService do
|
18
18
|
|
19
|
-
let(:login_name) {'
|
19
|
+
let(:login_name) { 'test_login' }
|
20
20
|
let(:sql_server) { subject.create_server(login_name, 'User1@123', WindowsImageLocation) }
|
21
21
|
subject { Azure::SqlDatabaseManagementService.new }
|
22
22
|
|
23
23
|
before {
|
24
24
|
Azure::Loggerx.expects(:puts).returns(nil).at_least(0)
|
25
|
-
subject.set_sql_server_firewall_rule(sql_server.name,
|
26
|
-
|
27
|
-
subject.set_sql_server_firewall_rule(sql_server.name, "rule2", ip_range)
|
25
|
+
subject.set_sql_server_firewall_rule(sql_server.name, 'rule1', '0.0.0.0', '255.255.255.255')
|
26
|
+
subject.set_sql_server_firewall_rule(sql_server.name, 'rule2', '10.20.30.0', '10.20.30.255')
|
28
27
|
}
|
29
28
|
|
30
29
|
after {
|
31
30
|
subject.delete_server(sql_server.name)
|
32
31
|
}
|
33
32
|
|
34
|
-
describe
|
33
|
+
describe '#delete_sql_server_firewall_rule' do
|
35
34
|
|
36
|
-
it
|
35
|
+
it 'delete sql database server firewall' do
|
37
36
|
server_name = sql_server.name
|
38
37
|
subject.delete_sql_server_firewall_rule(server_name, 'rule1')
|
39
38
|
|
40
39
|
sql_server_firewalls = subject.list_sql_server_firewall_rules(server_name)
|
41
|
-
sql_server_firewalls.wont_be_nil
|
42
40
|
sql_server_firewalls.must_be_kind_of Array
|
43
|
-
sql_server_firewalls.first.must_be_kind_of
|
41
|
+
sql_server_firewalls.first.must_be_kind_of Azure::SqlDatabaseManagement::FirewallRule
|
44
42
|
sql_server_firewalls.size.must_equal 1
|
45
43
|
firewall = sql_server_firewalls.first
|
46
|
-
firewall
|
47
|
-
firewall
|
48
|
-
firewall
|
44
|
+
firewall.name.must_equal 'rule2'
|
45
|
+
firewall.end_ip_address.must_equal '10.20.30.255'
|
46
|
+
firewall.start_ip_address.must_equal '10.20.30.0'
|
49
47
|
end
|
50
48
|
|
51
|
-
it
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
end
|
56
|
-
assert_match(/does not have server #{server_name}./i, exception.message)
|
49
|
+
it 'errors if the sql server does not exist' do
|
50
|
+
assert_raises(Azure::SqlDatabaseManagement::ServerDoesNotExist) {
|
51
|
+
subject.delete_sql_server_firewall_rule('unknown-server', 'rule1')
|
52
|
+
}
|
57
53
|
end
|
58
54
|
|
59
|
-
it
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
end
|
64
|
-
assert_match(/The specified firewall rule #{rule_name} does not exist./i, exception.message)
|
55
|
+
it 'returns false if the sql server firewall rule does not exist when deleting' do
|
56
|
+
assert_raises(Azure::SqlDatabaseManagement::RuleDoesNotExist) {
|
57
|
+
subject.delete_sql_server_firewall_rule(sql_server.name, rule10)
|
58
|
+
}
|
65
59
|
end
|
66
60
|
|
67
61
|
end
|
@@ -12,7 +12,7 @@
|
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
14
|
#--------------------------------------------------------------------------
|
15
|
-
require
|
15
|
+
require 'integration/test_helper'
|
16
16
|
|
17
17
|
describe Azure::SqlDatabaseManagementService do
|
18
18
|
|
@@ -21,35 +21,22 @@ describe Azure::SqlDatabaseManagementService do
|
|
21
21
|
}
|
22
22
|
|
23
23
|
subject { Azure::SqlDatabaseManagementService.new }
|
24
|
-
let(:login_name) {'
|
24
|
+
let(:login_name) { 'test_login' }
|
25
25
|
let(:sql_server) { subject.create_server(login_name, 'User1@123', WindowsImageLocation) }
|
26
26
|
|
27
|
-
describe
|
27
|
+
describe '#delete_sql_server' do
|
28
28
|
|
29
|
-
it
|
29
|
+
it 'delete sql database server' do
|
30
30
|
server_name = sql_server.name
|
31
31
|
subject.delete_server(server_name)
|
32
|
-
sql_server = subject.list_servers.select{|x| x.name == server_name}.first
|
32
|
+
sql_server = subject.list_servers.select { |x| x.name == server_name }.first
|
33
33
|
sql_server.must_be_nil
|
34
34
|
end
|
35
35
|
|
36
|
-
it
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
end
|
41
|
-
assert_match(/does not have server #{server_name}./i, exception.message)
|
42
|
-
end
|
43
|
-
|
44
|
-
it "exception message should be valid" do
|
45
|
-
server_name = "unknown-server"
|
46
|
-
begin
|
47
|
-
subject.delete_server(server_name)
|
48
|
-
rescue Azure::Error::Error => error
|
49
|
-
error.status_code.must_equal 40647
|
50
|
-
error.type.must_equal "DatabaseServerNotFound"
|
51
|
-
error.description.end_with?("does not have server #{server_name}.").must_equal true
|
52
|
-
end
|
36
|
+
it 'raise if the sql server does not exist' do
|
37
|
+
assert_raises(Azure::SqlDatabaseManagement::ServerDoesNotExist) {
|
38
|
+
subject.delete_server('unknown-server')
|
39
|
+
}
|
53
40
|
end
|
54
41
|
|
55
42
|
end
|
@@ -12,31 +12,30 @@
|
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
14
|
#--------------------------------------------------------------------------
|
15
|
-
require
|
15
|
+
require 'integration/test_helper'
|
16
16
|
|
17
17
|
describe Azure::SqlDatabaseManagementService do
|
18
18
|
|
19
19
|
subject { Azure::SqlDatabaseManagementService.new }
|
20
|
-
let(:login_name) {'
|
20
|
+
let(:login_name) {'test_login'}
|
21
21
|
let(:sql_server) { subject.create_server(login_name, 'User1@123', WindowsImageLocation) }
|
22
|
-
describe
|
22
|
+
describe '#list_sql_server_firewall_rules' do
|
23
23
|
|
24
24
|
before {
|
25
25
|
Azure::Loggerx.expects(:puts).returns(nil).at_least(0)
|
26
|
-
|
27
|
-
subject.set_sql_server_firewall_rule(sql_server.name,
|
28
|
-
subject.set_sql_server_firewall_rule(sql_server.name, "rule2")
|
26
|
+
subject.set_sql_server_firewall_rule(sql_server.name, 'rule1', '10.20.30.0', '10.20.30.255')
|
27
|
+
subject.set_sql_server_firewall_rule(sql_server.name, 'rule2')
|
29
28
|
}
|
30
29
|
|
31
30
|
after {
|
32
31
|
subject.delete_server(sql_server.name)
|
33
32
|
}
|
34
33
|
|
35
|
-
it
|
34
|
+
it 'returns a list of SQL databse server firewall' do
|
36
35
|
sql_server_firewalls = subject.list_sql_server_firewall_rules(sql_server.name)
|
37
36
|
sql_server_firewalls.wont_be_nil
|
38
37
|
sql_server_firewalls.must_be_kind_of Array
|
39
|
-
sql_server_firewalls.first.must_be_kind_of
|
38
|
+
sql_server_firewalls.first.must_be_kind_of Azure::SqlDatabaseManagement::FirewallRule
|
40
39
|
sql_server_firewalls.size.must_equal 2
|
41
40
|
end
|
42
41
|
|
@@ -17,14 +17,14 @@ require "integration/test_helper"
|
|
17
17
|
describe Azure::SqlDatabaseManagementService do
|
18
18
|
|
19
19
|
subject { Azure::SqlDatabaseManagementService.new }
|
20
|
-
let(:login_name) {'
|
21
|
-
describe
|
20
|
+
let(:login_name) {'test_login'}
|
21
|
+
describe '#list_servers' do
|
22
22
|
|
23
23
|
before {
|
24
24
|
Azure::Loggerx.expects(:puts).returns(nil).at_least(0)
|
25
25
|
}
|
26
26
|
|
27
|
-
it
|
27
|
+
it 'returns a list of SQL databse servers' do
|
28
28
|
server1 = subject.create_server(login_name, 'User1@123', WindowsImageLocation)
|
29
29
|
server2 = subject.create_server(login_name, 'User2@123', 'East US')
|
30
30
|
|
@@ -32,7 +32,7 @@ describe Azure::SqlDatabaseManagementService do
|
|
32
32
|
sql_servers.wont_be_nil
|
33
33
|
sql_servers.must_be_kind_of Array
|
34
34
|
sql_server = sql_servers.first
|
35
|
-
sql_server.must_be_kind_of Azure::SqlDatabaseManagement::
|
35
|
+
sql_server.must_be_kind_of Azure::SqlDatabaseManagement::SqlServer
|
36
36
|
assert_operator sql_servers.size, :>=, 2
|
37
37
|
|
38
38
|
subject.delete_server(server1.name)
|