Exemplo n.º 1
0
    def test_facterDataOperatingsystemVsFamily(self, get_os_version_mock,
                                               get_os_family_mock,
                                               get_os_type_mock):
        get_os_type_mock.return_value = "some_type_of_os"
        get_os_version_mock.return_value = "11"
        get_os_family_mock.return_value = "redhat"

        result = Facter().facterInfo()
        self.assertEquals(result['operatingsystem'], 'some_type_of_os')
        self.assertEquals(result['osfamily'], 'redhat')

        get_os_family_mock.return_value = "ubuntu"
        result = Facter().facterInfo()
        self.assertEquals(result['operatingsystem'], 'some_type_of_os')
        self.assertEquals(result['osfamily'], 'ubuntu')

        get_os_family_mock.return_value = "suse"
        result = Facter().facterInfo()
        self.assertEquals(result['operatingsystem'], 'some_type_of_os')
        self.assertEquals(result['osfamily'], 'suse')

        get_os_family_mock.return_value = "My_new_family"
        result = Facter().facterInfo()
        self.assertEquals(result['operatingsystem'], 'some_type_of_os')
        self.assertEquals(result['osfamily'], 'My_new_family')
Exemplo n.º 2
0
    def test_facterMemInfoOutput(self, getSystemResourceOverridesMock,
                                 get_os_version_mock, get_os_type_mock,
                                 facter_setMemInfoOutput_mock):

        getSystemResourceOverridesMock.return_value = {}
        facter_setMemInfoOutput_mock.return_value = '''
MemTotal:        1832392 kB
MemFree:          868648 kB
HighTotal:             0 kB
HighFree:              0 kB
LowTotal:        1832392 kB
LowFree:          868648 kB
SwapTotal:       2139592 kB
SwapFree:        1598676 kB
    '''

        get_os_type_mock.return_value = "suse"
        get_os_version_mock.return_value = "11"
        config = None
        result = Facter(config).facterInfo()

        self.assertEquals(result['memorysize'], 1832392)
        self.assertEquals(result['memorytotal'], 1832392)
        self.assertEquals(result['memoryfree'], 868648)
        self.assertEquals(result['swapsize'], '2.04 GB')
        self.assertEquals(result['swapfree'], '1.52 GB')
Exemplo n.º 3
0
    def test_uptimeSecondsHoursDays(self, facter_setDataUpTimeOutput_mock):
        # 3 days + 1 hour + 13 sec
        facter_setDataUpTimeOutput_mock.return_value = "262813.00 123.45"
        result = Facter().facterInfo()

        self.assertEquals(result['uptime_seconds'], '262813')
        self.assertEquals(result['uptime_hours'], '73')
        self.assertEquals(result['uptime_days'], '3')
Exemplo n.º 4
0
    def test_fqdnDomainHostname(self, facter_getFqdn_mock, hostname_mock):
        facter_getFqdn_mock.return_value = "ambari.apache.org"
        hostname_mock.return_value = 'ambari'
        result = Facter().facterInfo()

        self.assertEquals(result['hostname'], "ambari")
        self.assertEquals(result['domain'], "apache.org")
        self.assertEquals(result['fqdn'],
                          (result['hostname'] + '.' + result['domain']))
Exemplo n.º 5
0
    def test_facterDataIfConfigOutput(
            self, get_os_version_mock, get_os_type_mock,
            facter_setDataIfConfigOutput_mock, getIpAddress_mock,
            get_ip_address_by_ifname_mock, inet_ntoa_mock, struct_pack_mock,
            socket_socket_mock, fcntl_ioctl_mock):
        getIpAddress_mock.return_value = "10.0.2.15"
        get_ip_address_by_ifname_mock.return_value = "10.0.2.15"
        inet_ntoa_mock.return_value = "255.255.255.0"
        facter_setDataIfConfigOutput_mock.return_value = '''
eth0      Link encap:Ethernet  HWaddr 08:00:27:C9:39:9E
          inet6 addr: fe80::a00:27ff:fec9:399e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7575 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3463 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:9383574 (8.9 MiB)  TX bytes:231609 (226.1 KiB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:C9:39:9E
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fec9:399e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7575 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3463 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:9383574 (8.9 MiB)  TX bytes:231609 (226.1 KiB)

eth2      Link encap:Ethernet  HWaddr 08:00:27:9A:9A:45
          inet addr:192.168.64.101  Bcast:192.168.64.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe9a:9a45/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:180 errors:0 dropped:0 overruns:0 frame:0
          TX packets:89 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:18404 (17.9 KiB)  TX bytes:17483 (17.0 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
    '''

        get_os_type_mock.return_value = "suse"
        get_os_version_mock.return_value = "11"
        result = Facter().facterInfo()

        self.assertTrue(inet_ntoa_mock.called)
        self.assertTrue(get_ip_address_by_ifname_mock.called)
        self.assertTrue(getIpAddress_mock.called)
        self.assertEquals(result['ipaddress'], '10.0.2.15')
        self.assertEquals(result['netmask'], '255.255.255.0')
        self.assertEquals(result['interfaces'], 'eth0,eth1,eth2,lo')
Exemplo n.º 6
0
    def test_system_resource_overrides(self, resolve_ambari_config,
                                       get_os_version_mock, get_os_type_mock,
                                       open_mock, glob_mock, json_mock, isdir,
                                       exists):
        get_os_type_mock.return_value = "suse"
        get_os_version_mock.return_value = "11"
        config = MagicMock()
        config.get.return_value = '/etc/custom_resource_overrides'
        config.has_option.return_value = True
        resolve_ambari_config.return_value = config
        isdir.return_value = True
        exists.return_value = True
        open_mock.return_value.read = "1"
        file_handle = open_mock.return_value.__enter__.return_value
        file_handle.read.return_value = '1'
        glob_mock.side_effect = \
          [
            [
              "/etc/custom_resource_overrides/1.json",
              "/etc/custom_resource_overrides/2.json"
              ]
          ]
        json_data = json_mock.return_value
        json_data.items.return_value = [('key', 'value')]
        json_data.__getitem__.return_value = 'value'

        facter = Facter()
        facter.config = config
        result = facter.getSystemResourceOverrides()

        isdir.assert_called_with('/etc/custom_resource_overrides')
        exists.assert_called_with('/etc/custom_resource_overrides')
        glob_mock.assert_called_with('/etc/custom_resource_overrides/*.json')
        self.assertTrue(config.has_option.called)
        self.assertTrue(config.get.called)
        self.assertTrue(glob_mock.called)
        self.assertEquals(2, file_handle.read.call_count)
        self.assertEquals(2, open_mock.call_count)
        self.assertEquals(2, json_mock.call_count)
        self.assertEquals('value', result['key'])
Exemplo n.º 7
0
    def test_uptimeSecondsHoursDays(self, get_os_version_mock,
                                    get_os_type_mock,
                                    facter_setDataUpTimeOutput_mock):
        # 3 days + 1 hour + 13 sec
        facter_setDataUpTimeOutput_mock.return_value = "262813.00 123.45"
        get_os_type_mock.return_value = "suse"
        get_os_version_mock.return_value = "11"
        config = None
        result = Facter(config).facterInfo()

        self.assertEquals(result['uptime_seconds'], '262813')
        self.assertEquals(result['uptime_hours'], '73')
        self.assertEquals(result['uptime_days'], '3')
Exemplo n.º 8
0
    def test_fqdnDomainHostname(self, get_os_version_mock, get_os_type_mock,
                                facter_getFqdn_mock, hostname_mock):
        facter_getFqdn_mock.return_value = "ambari.apache.org"
        hostname_mock.return_value = 'ambari'
        get_os_type_mock.return_value = "suse"
        get_os_version_mock.return_value = "11"
        config = None
        result = Facter(config).facterInfo()

        self.assertEquals(result['hostname'], "ambari")
        self.assertEquals(result['domain'], "apache.org")
        self.assertEquals(result['fqdn'],
                          (result['hostname'] + '.' + result['domain']))
Exemplo n.º 9
0
    def test_facterDataOperatingsystemIsFamily(self, get_os_version_mock,
                                               get_os_family_mock,
                                               get_os_type_mock):
        #Check that getOperatingSystem == os_family (NOT os_type)
        get_os_type_mock.return_value = "some_type_of_os"
        get_os_version_mock.return_value = "11"

        get_os_family_mock.return_value = "redhat"
        result = Facter().facterInfo()
        self.assertEquals(result['operatingsystem'], 'redhat')

        get_os_family_mock.return_value = "debian"
        result = Facter().facterInfo()
        self.assertEquals(result['operatingsystem'], 'debian')

        get_os_family_mock.return_value = "suse"
        result = Facter().facterInfo()
        self.assertEquals(result['operatingsystem'], 'suse')

        get_os_family_mock.return_value = "My_new_family"
        result = Facter().facterInfo()
        self.assertEquals(result['operatingsystem'], 'My_new_family')
Exemplo n.º 10
0
  def test_system_resource_overrides(self, resolve_ambari_config, get_os_version_mock, get_os_type_mock,
                                     open_mock, glob_mock, json_mock, isdir, exists):
    get_os_type_mock.return_value = "suse"
    get_os_version_mock.return_value = "11"
    config = MagicMock()
    config.get.return_value = '/etc/custom_resource_overrides'
    config.has_option.return_value = True
    resolve_ambari_config.return_value = config
    isdir.return_value = True
    exists.return_value = True
    open_mock.return_value.read = "1"
    file_handle = open_mock.return_value.__enter__.return_value
    file_handle.read.return_value = '1'
    glob_mock.side_effect = \
      [
        [
          "/etc/custom_resource_overrides/1.json",
          "/etc/custom_resource_overrides/2.json"
          ]
      ]
    json_data = json_mock.return_value
    json_data.items.return_value = [('key', 'value')]
    json_data.__getitem__.return_value = 'value'

    facter = Facter()
    facter.config = config
    result = facter.getSystemResourceOverrides()

    isdir.assert_called_with('/etc/custom_resource_overrides')
    exists.assert_called_with('/etc/custom_resource_overrides')
    glob_mock.assert_called_with('/etc/custom_resource_overrides/*.json')
    self.assertTrue(config.has_option.called)
    self.assertTrue(config.get.called)
    self.assertTrue(glob_mock.called)
    self.assertEquals(2, file_handle.read.call_count)
    self.assertEquals(2, open_mock.call_count)
    self.assertEquals(2, json_mock.call_count)
    self.assertEquals('value', result['key'])
Exemplo n.º 11
0
    def test_facterDataIfConfigOutputNone(self, get_os_version_mock,
                                          get_os_type_mock, getIpAddress_mock,
                                          get_ip_address_by_ifname_mock,
                                          inet_ntoa_mock, struct_pack_mock,
                                          socket_socket_mock,
                                          fcntl_ioctl_mock):
        getIpAddress_mock.return_value = "10.0.2.15"
        get_ip_address_by_ifname_mock.return_value = ""
        inet_ntoa_mock.return_value = "255.255.255.0"

        get_os_type_mock.return_value = "suse"
        get_os_version_mock.return_value = "11"
        result = Facter().facterInfo()

        self.assertTrue(get_ip_address_by_ifname_mock.called)
        self.assertEquals(result['netmask'], None)
Exemplo n.º 12
0
    def test_facterDataIfConfigOutput(self, get_os_version_mock,
                                      get_os_type_mock, getIpAddress_mock,
                                      get_ip_address_by_ifname_mock,
                                      inet_ntoa_mock, struct_pack_mock,
                                      socket_socket_mock, fcntl_ioctl_mock):
        getIpAddress_mock.return_value = "10.0.2.15"
        get_ip_address_by_ifname_mock.return_value = "10.0.2.15"
        inet_ntoa_mock.return_value = "255.255.255.0"

        get_os_type_mock.return_value = "suse"
        get_os_version_mock.return_value = "11"
        config = None
        result = Facter(config).facterInfo()

        self.assertTrue(inet_ntoa_mock.called)
        self.assertTrue(get_ip_address_by_ifname_mock.called)
        self.assertTrue(getIpAddress_mock.called)
        self.assertEquals(result['ipaddress'], '10.0.2.15')
        self.assertEquals(result['netmask'], '255.255.255.0')
        self.assertEquals(result['interfaces'], 'eth0,eth1,eth2,lo')
Exemplo n.º 13
0
    def test_facterMemInfoOutput(self, facter_setMemInfoOutput_mock):

        facter_setMemInfoOutput_mock.return_value = '''
MemTotal:        1832392 kB
MemFree:          868648 kB
HighTotal:             0 kB
HighFree:              0 kB
LowTotal:        1832392 kB
LowFree:          868648 kB
SwapTotal:       2139592 kB
SwapFree:        1598676 kB
    '''

        result = Facter().facterInfo()

        self.assertEquals(result['memorysize'], 1832392)
        self.assertEquals(result['memorytotal'], 1832392)
        self.assertEquals(result['memoryfree'], 868648)
        self.assertEquals(result['swapsize'], '2.04 GB')
        self.assertEquals(result['swapfree'], '1.52 GB')