Exemple #1
0
class MySubscriptionsTabTest(unittest.TestCase):
    def setUp(self):
        self.uep = StubUEP
        self.backend = StubBackend()
        self.consumer = Mock()
        self.facts = StubFacts({})

        self.cert1 = StubEntitlementCertificate(
            StubProduct('product2'),
            start_date=datetime.datetime(2010, 1, 1),
            end_date=datetime.datetime(2060, 1, 1),
            quantity="10",
            stacking_id=None)

        self.cert_dir = StubCertificateDirectory([self.cert1])

    def tearDown(self):
        pass

    def test_correct_cert_data_inserted_into_store(self):
        self.cert1.order.stacking_id = None
        column_entries = self._get_entries_for_test()

        self.assertEquals(1, len(column_entries))

        entry = column_entries[0]

        self._assert_entry(entry)

    def test_stacking_entry_inserted_when_stacking_id_exists(self):
        self.cert1.order.stacking_id = 1234
        column_entries = self._get_entries_for_test()

        self.assertEquals(2, len(column_entries))

        self._assert_group_entry(column_entries[0])
        self._assert_entry(column_entries[1])

    def _get_entries_for_test(self):
        column_entries = []

        def collect_entries(iter, entry):
            column_entries.append(entry)

        # Test that the data from a subscription is loaded into the store.
        my_subs_tab = MySubscriptionsTab(self.backend, self.consumer,
                                         self.facts, None, self.cert_dir)
        my_subs_tab.store.add_map = collect_entries
        my_subs_tab.update_subscriptions()
        return column_entries

    def _assert_entry(self, entry):
        self.assertEquals(self.cert1.getOrder().getName(),
                          entry['subscription'])
        self.assertEquals(self.cert1.validRange().begin(), entry['start_date'])
        self.assertEquals(self.cert1.validRange().end(),
                          entry['expiration_date'])
        self.assertEquals("0 / 1", entry['installed_text'])
        self.assertEquals(0, entry['installed_value'])
        self.assertEquals(self.cert1.getOrder().getQuantityUsed(),
                          entry['quantity'])
        self.assertEquals(self.cert1.serialNumber(), entry['serial'])
        self.assertFalse(entry['is_group_row'])

    def _assert_group_entry(self, entry):
        self.assertEquals(self.cert1.getProduct().getName(),
                          entry['subscription'])
        self.assertFalse('start_date' in entry)
        self.assertFalse('expiration_date' in entry)
        self.assertFalse('installed_text' in entry)
        self.assertEquals(0.0, entry['installed_value'])
        self.assertFalse('quantity' in entry)
        self.assertFalse('serial' in entry)
        self.assertTrue(entry['is_group_row'])
class MySubscriptionsTabTest(unittest.TestCase):

    def setUp(self):
        self.uep = StubUEP
        self.backend = StubBackend()
        self.consumer = Mock()
        self.facts = StubFacts({})

        self.cert1 = StubEntitlementCertificate(
            StubProduct('product2'),
            start_date=datetime.datetime(2010, 1, 1),
            end_date=datetime.datetime(2060, 1, 1),
            quantity="10", stacking_id=None)

        self.cert_dir = StubCertificateDirectory([self.cert1])

    def tearDown(self):
        pass

    def test_correct_cert_data_inserted_into_store(self):
        self.cert1.order.stacking_id = None
        column_entries = self._get_entries_for_test()

        self.assertEquals(1, len(column_entries))

        entry = column_entries[0]

        self._assert_entry(entry)

    def test_stacking_entry_inserted_when_stacking_id_exists(self):
        self.cert1.order.stacking_id = 1234
        column_entries = self._get_entries_for_test()

        self.assertEquals(2, len(column_entries))

        self._assert_group_entry(column_entries[0])
        self._assert_entry(column_entries[1])

    def _get_entries_for_test(self):
        column_entries = []

        def collect_entries(iter, entry):
            column_entries.append(entry)

        # Test that the data from a subscription is loaded into the store.
        my_subs_tab = MySubscriptionsTab(self.backend, self.consumer, self.facts,
                None, self.cert_dir)
        my_subs_tab.store.add_map = collect_entries
        my_subs_tab.update_subscriptions()
        return column_entries

    def _assert_entry(self, entry):
        self.assertEquals(self.cert1.getOrder().getName(), entry['subscription'])
        self.assertEquals(self.cert1.validRange().begin(), entry['start_date'])
        self.assertEquals(self.cert1.validRange().end(), entry['expiration_date'])
        self.assertEquals("0 / 1", entry['installed_text'])
        self.assertEquals(0, entry['installed_value'])
        self.assertEquals(self.cert1.getOrder().getQuantityUsed(), entry['quantity'])
        self.assertEquals(self.cert1.serialNumber(), entry['serial'])
        self.assertFalse(entry['is_group_row'])

    def _assert_group_entry(self, entry):
        self.assertEquals(self.cert1.getProduct().getName(),
                          entry['subscription'])
        self.assertFalse('start_date' in entry)
        self.assertFalse('expiration_date' in entry)
        self.assertFalse('installed_text' in entry)
        self.assertEquals(0.0, entry['installed_value'])
        self.assertFalse('quantity' in entry)
        self.assertFalse('serial' in entry)
        self.assertTrue(entry['is_group_row'])