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')
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')
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')
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']))
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')
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'])
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')
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']))
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')
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)
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')
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')