Пример #1
0
    def test_if_not_multi_entitled_defualt_to_1(self):
        fact_dict = {QuantityDefaultValueCalculator._VIRT_IS_GUEST_FACT_NAME: False,
                     QuantityDefaultValueCalculator._SOCKET_FACT_NAME: '1'}
        facts = StubFacts(fact_dict, facts_changed=False)

        calculator = QuantityDefaultValueCalculator(facts, [])
        calculator._get_total_consumed = zero_consumed

        pool = create_pool("my-test-product", "My Test Product")
        qty = calculator.calculate(pool)
        self.assertEquals(1, qty)
Пример #2
0
    def test_if_not_multi_entitled_defualt_to_1(self):
        fact_dict = {
            QuantityDefaultValueCalculator._VIRT_IS_GUEST_FACT_NAME: False,
            QuantityDefaultValueCalculator._SOCKET_FACT_NAME: '1'
        }
        facts = StubFacts(fact_dict, facts_changed=False)

        calculator = QuantityDefaultValueCalculator(facts, [])
        calculator._get_total_consumed = zero_consumed

        pool = create_pool("my-test-product", "My Test Product")
        qty = calculator.calculate(pool)
        self.assertEquals(1, qty)
Пример #3
0
    def test_on_virtual_machine_default_uses_1_if_vcpu_and_sockets_do_not_exist_on_product(self):
        fact_dict = {QuantityDefaultValueCalculator._VIRT_IS_GUEST_FACT_NAME: True,
             QuantityDefaultValueCalculator._SOCKET_FACT_NAME: '4',
             QuantityDefaultValueCalculator._CPUS_FACT_NAME: '8'}
        facts = StubFacts(fact_dict, facts_changed=False)

        calculator = QuantityDefaultValueCalculator(facts, [])
        calculator._get_total_consumed = zero_consumed

        self.assertTrue(calculator._is_virtual_machine())
        productAttrs = [create_attr("multi-entitlement", "yes")]
        pool = create_pool("my-test-product", "My Test Product",
                           productAttributes=productAttrs)
        qty = calculator.calculate(pool)
        self.assertEquals(1, qty)
Пример #4
0
    def test_calculated_value_is_zero_when_negative_value_is_calculated(self):
        fact_dict = {QuantityDefaultValueCalculator._VIRT_IS_GUEST_FACT_NAME: False,
                     QuantityDefaultValueCalculator._SOCKET_FACT_NAME: '4'}
        facts = StubFacts(fact_dict, facts_changed=False)
        calculator = QuantityDefaultValueCalculator(facts, [])
        calculator._get_total_consumed = ten_consumed

        self.assertFalse(calculator._is_virtual_machine())

        productAttrs = [create_attr("multi-entitlement", "yes"),
                        create_attr(QuantityDefaultValueCalculator._SOCKETS_PROD_ATTR_NAME, "2")]
        pool = create_pool("my-test-product", "My Test Product",
                           productAttributes=productAttrs)
        qty = calculator.calculate(pool)
        # 10 are already consumed, so 4/2 - 10 = -8
        self.assertEquals(0, qty)
Пример #5
0
    def test_on_virtual_machine_currently_consumed_is_factored_into_default_calculation(self):
        fact_dict = {QuantityDefaultValueCalculator._VIRT_IS_GUEST_FACT_NAME: True,
                     QuantityDefaultValueCalculator._CPUS_FACT_NAME: '4'}
        facts = StubFacts(fact_dict, facts_changed=False)

        calculator = QuantityDefaultValueCalculator(facts, [])
        calculator._get_total_consumed = two_consumed

        self.assertTrue(calculator._is_virtual_machine())
        productAttrs = [create_attr("multi-entitlement", "yes"),
                        create_attr(QuantityDefaultValueCalculator._CPUS_PROD_ATTR_NAME, "1")]
        pool = create_pool("my-test-product", "My Test Product",
                           productAttributes=productAttrs)
        qty = calculator.calculate(pool)
        # ceil(m_cpus / p_cpus) - consumed
        self.assertEquals(2, qty)
Пример #6
0
    def test_on_pysical_machine_default_to_num_sockets_by_socket_count(self):
        fact_dict = {QuantityDefaultValueCalculator._VIRT_IS_GUEST_FACT_NAME: False,
                     QuantityDefaultValueCalculator._SOCKET_FACT_NAME: '4'}
        facts = StubFacts(fact_dict, facts_changed=False)
        calculator = QuantityDefaultValueCalculator(facts, [])
        calculator._get_total_consumed = zero_consumed

        self.assertFalse(calculator._is_virtual_machine())

        productAttrs = [create_attr("multi-entitlement", "yes"),
                        create_attr(QuantityDefaultValueCalculator._SOCKETS_PROD_ATTR_NAME, "2")]
        pool = create_pool("my-test-product", "My Test Product",
                           productAttributes=productAttrs)
        qty = calculator.calculate(pool)
        # ceil(m_sockets / p_socket)
        self.assertEquals(2, qty)
Пример #7
0
    def test_on_virtual_machine_default_uses_1_if_vcpu_and_sockets_do_not_exist_on_product(
            self):
        fact_dict = {
            QuantityDefaultValueCalculator._VIRT_IS_GUEST_FACT_NAME: True,
            QuantityDefaultValueCalculator._SOCKET_FACT_NAME: '4',
            QuantityDefaultValueCalculator._CPUS_FACT_NAME: '8'
        }
        facts = StubFacts(fact_dict, facts_changed=False)

        calculator = QuantityDefaultValueCalculator(facts, [])
        calculator._get_total_consumed = zero_consumed

        self.assertTrue(calculator._is_virtual_machine())
        productAttrs = [create_attr("multi-entitlement", "yes")]
        pool = create_pool("my-test-product",
                           "My Test Product",
                           productAttributes=productAttrs)
        qty = calculator.calculate(pool)
        self.assertEquals(1, qty)
Пример #8
0
    def test_calculated_value_is_zero_when_negative_value_is_calculated(self):
        fact_dict = {
            QuantityDefaultValueCalculator._VIRT_IS_GUEST_FACT_NAME: False,
            QuantityDefaultValueCalculator._SOCKET_FACT_NAME: '4'
        }
        facts = StubFacts(fact_dict, facts_changed=False)
        calculator = QuantityDefaultValueCalculator(facts, [])
        calculator._get_total_consumed = ten_consumed

        self.assertFalse(calculator._is_virtual_machine())

        productAttrs = [
            create_attr("multi-entitlement", "yes"),
            create_attr(QuantityDefaultValueCalculator._SOCKETS_PROD_ATTR_NAME,
                        "2")
        ]
        pool = create_pool("my-test-product",
                           "My Test Product",
                           productAttributes=productAttrs)
        qty = calculator.calculate(pool)
        # 10 are already consumed, so 4/2 - 10 = -8
        self.assertEquals(0, qty)
Пример #9
0
    def test_on_virt_machine_default_rounds_up(self):
        fact_dict = {
            QuantityDefaultValueCalculator._VIRT_IS_GUEST_FACT_NAME: True,
            QuantityDefaultValueCalculator._CPUS_FACT_NAME: '8'
        }
        facts = StubFacts(fact_dict, facts_changed=False)

        calculator = QuantityDefaultValueCalculator(facts, [])
        calculator._get_total_consumed = zero_consumed

        self.assertTrue(calculator._is_virtual_machine())
        productAttrs = [
            create_attr("multi-entitlement", "yes"),
            create_attr(QuantityDefaultValueCalculator._CPUS_PROD_ATTR_NAME,
                        "6")
        ]
        pool = create_pool("my-test-product",
                           "My Test Product",
                           productAttributes=productAttrs)
        qty = calculator.calculate(pool)
        # ceil(m_cpus / p_cpus)
        self.assertEquals(2, qty)
Пример #10
0
    def test_on_pysical_machine_default_to_num_sockets_by_socket_count(self):
        fact_dict = {
            QuantityDefaultValueCalculator._VIRT_IS_GUEST_FACT_NAME: False,
            QuantityDefaultValueCalculator._SOCKET_FACT_NAME: '4'
        }
        facts = StubFacts(fact_dict, facts_changed=False)
        calculator = QuantityDefaultValueCalculator(facts, [])
        calculator._get_total_consumed = zero_consumed

        self.assertFalse(calculator._is_virtual_machine())

        productAttrs = [
            create_attr("multi-entitlement", "yes"),
            create_attr(QuantityDefaultValueCalculator._SOCKETS_PROD_ATTR_NAME,
                        "2")
        ]
        pool = create_pool("my-test-product",
                           "My Test Product",
                           productAttributes=productAttrs)
        qty = calculator.calculate(pool)
        # ceil(m_sockets / p_socket)
        self.assertEquals(2, qty)