mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
Merge pull request #2677 from evertrue/mock_network_attachments
Mock out the attachment of network interfaces from the instance's perspective
This commit is contained in:
commit
243cfc53e4
2 changed files with 24 additions and 2 deletions
|
@ -205,6 +205,19 @@ module Fog
|
|||
|
||||
if self.data[:instances][instance['instanceId']]
|
||||
|
||||
instance['networkInterfaces'] = self.data[:network_interfaces].select{|ni,ni_conf|
|
||||
ni_conf['attachment']['instanceId'] == instance['instanceId']
|
||||
}.map{|ni,ni_conf|
|
||||
{
|
||||
'ownerId' => ni_conf['ownerId'],
|
||||
'subnetId' => ni_conf['subnetId'],
|
||||
'vpcId' => ni_conf['vpcId'],
|
||||
'networkInterfaceId' => ni_conf['networkInterfaceId'],
|
||||
'groupSet' => ni_conf['groupSet'],
|
||||
'attachmentId' => ni_conf['attachment']['attachmentId']
|
||||
}
|
||||
}
|
||||
|
||||
reservation_set[instance['reservationId']] ||= {
|
||||
'groupSet' => instance['groupSet'],
|
||||
'groupIds' => instance['groupIds'],
|
||||
|
|
|
@ -3,7 +3,7 @@ Shindo.tests('Fog::Compute[:aws] | instance requests', ['aws']) do
|
|||
@instance_format = {
|
||||
'architecture' => String,
|
||||
'amiLaunchIndex' => Integer,
|
||||
'associatePublicIP' => Fog::Nullable::Boolean,
|
||||
'associatePublicIP' => Fog::Nullable::Boolean,
|
||||
'attachmentId' => Fog::Nullable::String,
|
||||
'blockDeviceMapping' => [Fog::Nullable::Hash],
|
||||
'clientToken' => Fog::Nullable::String,
|
||||
|
@ -191,7 +191,7 @@ Shindo.tests('Fog::Compute[:aws] | instance requests', ['aws']) do
|
|||
tests("#describe_instances").formats(@describe_instances_format) do
|
||||
Fog::Compute[:aws].describe_instances('instance-state-name' => 'running').body
|
||||
end
|
||||
|
||||
|
||||
# Launch another instance to test filters
|
||||
another_server = Fog::Compute[:aws].servers.create
|
||||
|
||||
|
@ -201,6 +201,15 @@ Shindo.tests('Fog::Compute[:aws] | instance requests', ['aws']) do
|
|||
body
|
||||
end
|
||||
|
||||
# Test network interface attachment
|
||||
tests('#describe_instances networkInterfaces') do
|
||||
data = Fog::Compute[:aws].create_network_interface('subnet-12345678').body
|
||||
@network_interface_id = data['networkInterface']['networkInterfaceId']
|
||||
Fog::Compute[:aws].attach_network_interface(@network_interface_id, @instance_id, 1)
|
||||
body = Fog::Compute[:aws].describe_instances('instance-id' => "#{@instance_id}").body
|
||||
tests("returns 1 attachment").returns(1) { body['reservationSet'].first['instancesSet'].first['networkInterfaces'].size }
|
||||
end
|
||||
|
||||
another_server.destroy
|
||||
|
||||
tests("#get_console_output('#{@instance_id}')").formats(@get_console_output_format) do
|
||||
|
|
Loading…
Reference in a new issue