示例#1
0
    def test_list_products(self):
        '''
        List products test.
        '''
        for filename, test_data in {
                'zypper-products-sle12sp1.xml':
            {
                'name': [
                    'SLES', 'SLES', 'SUSE-Manager-Proxy',
                    'SUSE-Manager-Server', 'sle-manager-tools-beta',
                    'sle-manager-tools-beta-broken-eol',
                    'sle-manager-tools-beta-no-eol'
                ],
                'vendor':
                'SUSE LLC <https://www.suse.com/>',
                'release': ['0', '0', '0', '0', '0', '0', '0'],
                'productline': [None, None, None, None, None, None, 'sles'],
                'eol_t': [
                    None, 0, 1509408000, 1522454400, 1522454400, 1730332800,
                    1730332800
                ],
                'isbase': [False, False, False, False, False, False, True],
                'installed': [False, False, False, False, False, False, True],
                'registerrelease': [None, None, None, None, None, None, '123'],
            },
                'zypper-products-sle11sp3.xml':
            {
                'name': [
                    'SUSE-Manager-Server', 'SUSE-Manager-Server',
                    'SUSE-Manager-Server-Broken-EOL', 'SUSE_SLES', 'SUSE_SLES',
                    'SUSE_SLES', 'SUSE_SLES-SP4-migration'
                ],
                'vendor':
                'SUSE LINUX Products GmbH, Nuernberg, Germany',
                'release':
                ['1.138', '1.2', '1.2', '1.2', '1.201', '1.201', '1.4'],
                'productline':
                [None, None, None, None, None, 'manager', 'manager'],
                'eol_t': [None, 0, 0, 0, 0, 0, 0],
                'isbase': [False, False, False, False, False, True, True],
                'installed': [False, False, False, False, False, True, True],
                'registerrelease': [None, None, None, None, None, None, "42"],
            }
        }.items():

            ref_out = {'retcode': 0, 'stdout': get_test_data(filename)}

            with patch.dict(zypper.__salt__,
                            {'cmd.run_all': MagicMock(return_value=ref_out)}):
                products = zypper.list_products()
                self.assertEqual(len(products), 7)
                self.assertIn(test_data['vendor'],
                              [product['vendor'] for product in products])
                for kwd in [
                        'name', 'isbase', 'installed', 'release',
                        'productline', 'eol_t', 'registerrelease'
                ]:
                    self.assertEqual(
                        test_data[kwd],
                        sorted([prod.get(kwd) for prod in products]))
示例#2
0
 def test_list_products(self):
     '''
     List products test.
     '''
     ref_out = {
         'retcode': 0,
         'stdout': get_test_data('zypper-products.xml')
     }
     with patch.dict(zypper.__salt__,
                     {'cmd.run_all': MagicMock(return_value=ref_out)}):
         products = zypper.list_products()
         self.assertEqual(len(products), 5)
         self.assertEqual([
             'SLES', 'SLES', 'SUSE-Manager-Proxy', 'SUSE-Manager-Server',
             'sle-manager-tools-beta'
         ], sorted([prod['name'] for prod in products]))
         self.assertIn('SUSE LLC <https://www.suse.com/>',
                       [product['vendor'] for product in products])
         self.assertEqual([False, False, False, False, True],
                          sorted(
                              [product['isbase'] for product in products]))
         self.assertEqual(
             [False, False, False, False, True],
             sorted([product['installed'] for product in products]))
         self.assertEqual(['0', '0', '0', '0', '0'],
                          sorted(
                              [product['release'] for product in products]))
         self.assertEqual(
             [False, False, False, False, u'sles'],
             sorted([product['productline'] for product in products]))
         self.assertEqual(
             [1509408000, 1522454400, 1522454400, 1730332800, 1730332800],
             sorted([product['eol_t'] for product in products]))
示例#3
0
    def test_list_products(self):
        '''
        List products test.
        '''
        for filename, test_data in {
            'zypper-products-sle12sp1.xml': {
                'name': ['SLES', 'SLES', 'SUSE-Manager-Proxy',
                         'SUSE-Manager-Server', 'sle-manager-tools-beta',
                         'sle-manager-tools-beta-broken-eol', 'sle-manager-tools-beta-no-eol'],
                'vendor': 'SUSE LLC <https://www.suse.com/>',
                'release': ['0', '0', '0', '0', '0', '0', '0'],
                'productline': [None, None, None, None, None, None, 'sles'],
                'eol_t': [None, 0, 1509408000, 1522454400, 1522454400, 1730332800, 1730332800],
                'isbase': [False, False, False, False, False, False, True],
                'installed': [False, False, False, False, False, False, True],
                'registerrelease': [None, None, None, None, None, None, '123'],
            },
            'zypper-products-sle11sp3.xml': {
                'name': ['SUSE-Manager-Server', 'SUSE-Manager-Server', 'SUSE-Manager-Server-Broken-EOL',
                         'SUSE_SLES', 'SUSE_SLES', 'SUSE_SLES', 'SUSE_SLES-SP4-migration'],
                'vendor': 'SUSE LINUX Products GmbH, Nuernberg, Germany',
                'release': ['1.138', '1.2', '1.2', '1.2', '1.201', '1.201', '1.4'],
                'productline': [None, None, None, None, None, 'manager', 'manager'],
                'eol_t': [None, 0, 0, 0, 0, 0, 0],
                'isbase': [False, False, False, False, False, True, True],
                'installed': [False, False, False, False, False, True, True],
                'registerrelease': [None, None, None, None, None, None, "42"],
            }}.items():

            ref_out = {
                    'retcode': 0,
                    'stdout': get_test_data(filename)
            }

            with patch.dict(zypper.__salt__, {'cmd.run_all': MagicMock(return_value=ref_out)}):
                products = zypper.list_products()
                self.assertEqual(len(products), 7)
                self.assertIn(test_data['vendor'], [product['vendor'] for product in products])
                for kwd in ['name', 'isbase', 'installed', 'release', 'productline', 'eol_t', 'registerrelease']:
                    if six.PY3:
                        self.assertCountEqual(test_data[kwd], [prod.get(kwd) for prod in products])
                    else:
                        self.assertEqual(test_data[kwd], sorted([prod.get(kwd) for prod in products]))