예제 #1
0
    def test_unsubscribe_unregistered(self):
        prod = StubProduct('stub_product')
        ent = StubEntitlementCertificate(prod)

        inj.provide(inj.ENT_DIR, StubEntitlementDirectory([ent]))
        inj.provide(inj.PROD_DIR, StubProductDirectory([]))
        cmd = managercli.RemoveCommand()

        self._inject_mock_invalid_consumer()

        cmd.main(['remove', '--all'])
        self.assertTrue(cmd.entitlement_dir.list_called)
        self.assertTrue(ent.is_deleted)

        prod = StubProduct('stub_product')
        ent1 = StubEntitlementCertificate(prod)
        ent2 = StubEntitlementCertificate(prod)
        ent3 = StubEntitlementCertificate(prod)

        inj.provide(inj.ENT_DIR, StubEntitlementDirectory([ent1, ent2, ent3]))
        inj.provide(inj.PROD_DIR, StubProductDirectory([]))
        cmd = managercli.RemoveCommand()

        cmd.main([
            'remove',
            '--serial=%s' % ent1.serial,
            '--serial=%s' % ent3.serial
        ])
        self.assertTrue(cmd.entitlement_dir.list_called)
        self.assertTrue(ent1.is_deleted)
        self.assertFalse(ent2.is_deleted)
        self.assertTrue(ent3.is_deleted)
예제 #2
0
    def test_unsubscribe_registered(self):
        cmd = managercli.RemoveCommand()

        mock_identity = self._inject_mock_valid_consumer()
        managercli.EntCertActionInvoker = StubEntActionInvoker

        cmd.main(["--all"])
        self.assertEqual(cmd.cp.called_unbind_uuid, mock_identity.uuid)

        serial1 = "123456"
        cmd.main(["--serial=%s" % serial1])
        self.assertEqual(cmd.cp.called_unbind_serial, [serial1])
        cmd.cp.reset()

        serial2 = "789012"
        cmd.main(["--serial=%s" % serial1, "--serial=%s" % serial2])
        self.assertEqual(cmd.cp.called_unbind_serial, [serial1, serial2])
        cmd.cp.reset()

        pool_id1 = "39993922b"
        cmd.main([
            "--serial=%s" % serial1,
            "--serial=%s" % serial2,
            "--pool=%s" % pool_id1,
            "--pool=%s" % pool_id1
        ])
        self.assertEqual(cmd.cp.called_unbind_serial, [serial1, serial2])
        self.assertEqual(cmd.cp.called_unbind_pool_id, [pool_id1])
    def test_unsubscribe_registered(self):
        cmd = managercli.RemoveCommand()

        mock_identity = self._inject_mock_valid_consumer()
        managercli.EntCertActionInvoker = StubEntActionInvoker

        cmd.main(['remove', '--all'])
        self.assertEquals(cmd.cp.called_unbind_uuid, mock_identity.uuid)

        serial1 = '123456'
        cmd.main(['remove', '--serial=%s' % serial1])
        self.assertEquals(cmd.cp.called_unbind_serial, [serial1])

        serial2 = '789012'
        cmd.main(['remove', '--serial=%s' % serial1, '--serial=%s' % serial2])
        self.assertEquals(cmd.cp.called_unbind_serial, [serial1, serial2])

        pool_id1 = '39993922b'
        cmd.main([
            'remove',
            '--serial=%s' % serial1,
            '--serial=%s' % serial2,
            '--pool=%s' % pool_id1,
            '--pool=%s' % pool_id1
        ])
        self.assertEquals(cmd.cp.called_unbind_serial, [serial1, serial2])
        self.assertEquals(cmd.cp.called_unbind_pool_id, [pool_id1])
예제 #4
0
    def test_unsubscribe_unregistered(self):
        connection.UEPConnection = StubUEP

        prod = StubProduct('stub_product')
        ent = StubEntitlementCertificate(prod)

        inj.provide(inj.ENT_DIR,
                StubEntitlementDirectory([ent]))
        inj.provide(inj.PROD_DIR,
                StubProductDirectory([]))
        cmd = managercli.RemoveCommand()

        managercli.ConsumerIdentity = StubConsumerIdentity
        StubConsumerIdentity.existsAndValid = classmethod(lambda cls: False)
        StubConsumerIdentity.exists = classmethod(lambda cls: False)

        cmd.main(['remove', '--all'])
        self.assertTrue(cmd.entitlement_dir.list_called)
        self.assertTrue(ent.is_deleted)

        prod = StubProduct('stub_product')
        ent1 = StubEntitlementCertificate(prod)
        ent2 = StubEntitlementCertificate(prod)
        ent3 = StubEntitlementCertificate(prod)

        inj.provide(inj.ENT_DIR,
                StubEntitlementDirectory([ent1, ent2, ent3]))
        inj.provide(inj.PROD_DIR,
                StubProductDirectory([]))
        cmd = managercli.RemoveCommand()
        managercli.ConsumerIdentity = StubConsumerIdentity
        StubConsumerIdentity.existsAndValid = classmethod(lambda cls: False)
        StubConsumerIdentity.exists = classmethod(lambda cls: False)

        cmd.main(['remove', '--serial=%s' % ent1.serial, '--serial=%s' % ent3.serial])
        self.assertTrue(cmd.entitlement_dir.list_called)
        self.assertTrue(ent1.is_deleted)
        self.assertFalse(ent2.is_deleted)
        self.assertTrue(ent3.is_deleted)
예제 #5
0
    def test_unsubscribe_unregistered(self):
        prod = StubProduct("stub_product")
        ent = StubEntitlementCertificate(prod)

        inj.provide(inj.ENT_DIR, StubEntitlementDirectory([ent]))
        inj.provide(inj.PROD_DIR, StubProductDirectory([]))
        cmd = managercli.RemoveCommand()

        self._inject_mock_invalid_consumer()

        cmd.main(["--all"])
        self.assertTrue(cmd.entitlement_dir.list_called)
        self.assertTrue(ent.is_deleted)

        prod = StubProduct("stub_product")
        pool = StubPool("stub_pool")
        ent1 = StubEntitlementCertificate(prod)
        ent2 = StubEntitlementCertificate(prod)
        ent3 = StubEntitlementCertificate(prod)
        ent4 = StubEntitlementCertificate(prod, pool=pool)

        inj.provide(inj.ENT_DIR,
                    StubEntitlementDirectory([ent1, ent2, ent3, ent4]))
        inj.provide(inj.PROD_DIR, StubProductDirectory([]))
        cmd = managercli.RemoveCommand()

        cmd.main([
            "--serial=%s" % ent1.serial,
            "--serial=%s" % ent3.serial,
            "--pool=%s" % ent4.pool.id
        ])
        self.assertTrue(cmd.entitlement_dir.list_called)
        self.assertTrue(ent1.is_deleted)
        self.assertFalse(ent2.is_deleted)
        self.assertTrue(ent3.is_deleted)
        self.assertTrue(ent4.is_deleted)
예제 #6
0
    def test_unsubscribe_registered(self):
        connection.UEPConnection = StubUEP

        cmd = managercli.RemoveCommand()

        managercli.ConsumerIdentity = StubConsumerIdentity
        StubConsumerIdentity.existsAndValid = classmethod(lambda cls: True)
        StubConsumerIdentity.exists = classmethod(lambda cls: True)
        managercli.CertLib = StubCertLib

        cmd.main(['remove', '--all'])
        self.assertEquals(cmd.cp.called_unbind_uuid,
                          StubConsumerIdentity.CONSUMER_ID)

        serial1 = '123456'
        cmd.main(['remove', '--serial=%s' % serial1])
        self.assertEquals(cmd.cp.called_unbind_serial, [serial1])

        serial2 = '789012'
        cmd.main(['remove', '--serial=%s' % serial1, '--serial=%s' % serial2])
        self.assertEquals(cmd.cp.called_unbind_serial, [serial1, serial2])