diff --git a/lib/fog/openstack/models/identity/tenant.rb b/lib/fog/openstack/models/identity/tenant.rb index 549d05f79..b16cadc6d 100644 --- a/lib/fog/openstack/models/identity/tenant.rb +++ b/lib/fog/openstack/models/identity/tenant.rb @@ -22,7 +22,7 @@ module Fog def users requires :id - connection.users(:tenant => self) + connection.users(:tenant_id => self.id) end def destroy diff --git a/lib/fog/openstack/requests/identity/list_users.rb b/lib/fog/openstack/requests/identity/list_users.rb index e94f6f4df..71a7c0a86 100644 --- a/lib/fog/openstack/requests/identity/list_users.rb +++ b/lib/fog/openstack/requests/identity/list_users.rb @@ -14,8 +14,17 @@ module Fog class Mock def list_users(tenant_id = nil) + users = self.data[:users].values + + if tenant_id + users = users.select { + |user| user['tenantId'] == tenant_id + } + end + + Excon::Response.new( - :body => { 'users' => self.data[:users].values }, + :body => { 'users' => users }, :status => 200 ) end diff --git a/lib/fog/rackspace/models/dns/record.rb b/lib/fog/rackspace/models/dns/record.rb index f0e5fc5b8..fc6e5ce2c 100644 --- a/lib/fog/rackspace/models/dns/record.rb +++ b/lib/fog/rackspace/models/dns/record.rb @@ -51,6 +51,10 @@ module Fog :data => value } + if ttl + options[:ttl] = ttl + end + if priority options[:priority] = priority end @@ -80,6 +84,7 @@ module Fog options[:type] = type if type options[:data] = value if value options[:priority] = priority if priority + options[:ttl] = ttl if ttl wait_for_job connection.modify_record(@zone.identity, identity, options).body['jobId'] true diff --git a/lib/fog/rackspace/requests/dns/add_records.rb b/lib/fog/rackspace/requests/dns/add_records.rb index ca43925b9..ee67f4d9b 100644 --- a/lib/fog/rackspace/requests/dns/add_records.rb +++ b/lib/fog/rackspace/requests/dns/add_records.rb @@ -13,7 +13,11 @@ module Fog 'type' => record[:type], 'data' => record[:data] } - + + if record.has_key? :ttl + record_data['ttl'] = record[:ttl] + end + if record.has_key? :priority record_data['priority'] = record[:priority] end diff --git a/tests/openstack/models/identity/tenant_tests.rb b/tests/openstack/models/identity/tenant_tests.rb index e3e32311d..84796f35a 100644 --- a/tests/openstack/models/identity/tenant_tests.rb +++ b/tests/openstack/models/identity/tenant_tests.rb @@ -4,6 +4,12 @@ Shindo.tests("Fog::Identity[:openstack] | tenant", ['openstack']) do instance = Fog::Identity[:openstack].tenants.first instance.roles_for(0) end + + tests('#users').succeeds do + instance = Fog::Identity[:openstack].tenants.first + + instance.users.count != Fog::Identity[:openstack].users.count + end end tests('CRUD') do diff --git a/tests/rackspace/requests/dns/records_tests.rb b/tests/rackspace/requests/dns/records_tests.rb index fffa5c34f..ea9bb36d4 100644 --- a/tests/rackspace/requests/dns/records_tests.rb +++ b/tests/rackspace/requests/dns/records_tests.rb @@ -12,8 +12,8 @@ Shindo.tests('Fog::DNS[:rackspace] | dns records requests', ['rackspace', 'dns'] Fog::DNS[:rackspace].list_records(@domain_id).body end - tests("add_records(#{@domain_id}, [{ :name => 'test1.#{domain_name}', :type => 'A', :data => '192.168.2.1'}])").formats(RECORD_LIST_FORMAT) do - response = wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].add_records(@domain_id, [{ :name => 'test1.' + domain_name, :type => 'A', :data => '192.168.2.1'}]) + tests("add_records(#{@domain_id}, [{ :name => 'test1.#{domain_name}', :type => 'A', :data => '192.168.2.1', :ttl => 550}])").formats(RECORD_LIST_FORMAT) do + response = wait_for Fog::DNS[:rackspace], Fog::DNS[:rackspace].add_records(@domain_id, [{ :name => 'test1.' + domain_name, :type => 'A', :data => '192.168.2.1', :ttl => 550}]) @record_id = response.body['response']['records'].first['id'] response.body['response'] end