Sha256: 9f12ab5a057ef8dd44506201efdf0dda770ab876c0be25c3ea436d9002f5dc51

Contents?: true

Size: 1.09 KB

Versions: 8

Compression:

Stored size: 1.09 KB

Contents

require 'socket'

module Fog
  module Compute
    class Libvirt
      class Real
        def dhcp_leases(uuid, mac, flags = 0)
          client.lookup_network_by_uuid(uuid).dhcp_leases(mac, flags)
        end
      end

      class Mock
        def dhcp_leases(uuid, mac, flags = 0)
          leases1 = {
            'aa:bb:cc:dd:ee:ff' => [
              { 'type' => Socket::AF_INET, 'ipaddr' => '1.2.3.4', 'prefix' => 24, 'expirytime' => 5000 },
              { 'type' => Socket::AF_INET, 'ipaddr' => '1.2.5.6', 'prefix' => 24, 'expirytime' => 5005 }
            ]
          }
          leases2 = {
            '99:88:77:66:55:44' => [
              { 'type' => Socket::AF_INET, 'ipaddr' => '10.1.1.5', 'prefix' => 24, 'expirytime' => 50 }
            ]
          }
          networks = {
            # should match mock net uuid from list_networks.rb
            'a29146ea-39b2-412d-8f53-239eef117a32' => leases1,
            'fbd4ac68-cbea-4f95-86ed-22953fd92384' => leases2
          }
          if !networks[uuid].nil?
            return networks[uuid][mac]
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
fog-libvirt-0.5.0 lib/fog/libvirt/requests/compute/dhcp_leases.rb
fog-libvirt-0.4.2 lib/fog/libvirt/requests/compute/dhcp_leases.rb
fog-libvirt-0.4.1 lib/fog/libvirt/requests/compute/dhcp_leases.rb
fog-libvirt-0.4.0 lib/fog/libvirt/requests/compute/dhcp_leases.rb
fog-libvirt-0.3.0 lib/fog/libvirt/requests/compute/dhcp_leases.rb
fog-libvirt-0.2.0 lib/fog/libvirt/requests/compute/dhcp_leases.rb
fog-libvirt-0.1.0 lib/fog/libvirt/requests/compute/dhcp_leases.rb
fog-libvirt-0.0.4 lib/fog/libvirt/requests/compute/dhcp_leases.rb