Пример #1
0
 def test_is_not_vert_when_fact_is_defined_as_empty(self):
     fact_dict = {
         QuantityDefaultValueCalculator._VIRT_IS_GUEST_FACT_NAME: ""
     }
     facts = StubFacts(fact_dict, facts_changed=False)
     calculator = QuantityDefaultValueCalculator(facts, [])
     self.assertFalse(calculator._is_virtual_machine())
Пример #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_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)
Пример #4
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)
Пример #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_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)
Пример #7
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)
Пример #8
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)
Пример #9
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)
Пример #10
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)
Пример #11
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)
Пример #12
0
 def test_total_consumed_does_not_include_future_entitlements(self):
     calculator = QuantityDefaultValueCalculator(StubFacts({}),
                                                 entitlements)
     self.assertEquals(9, calculator._get_total_consumed(product_id_2))
Пример #13
0
 def test_get_total_consumed_returns_zero_when_no_matches(self):
     calculator = QuantityDefaultValueCalculator(StubFacts({}),
                                                 entitlements)
     self.assertEquals(0, calculator._get_total_consumed("does-not-match"))
Пример #14
0
 def test_get_total_consumed_adds_matched(self):
     calculator = QuantityDefaultValueCalculator(StubFacts({}),
                                                 entitlements)
     self.assertEquals(5, calculator._get_total_consumed(product_id_1))
Пример #15
0
 def test_is_not_vert_when_fact_is_not_defined(self):
     facts = StubFacts({}, facts_changed=False)
     calculator = QuantityDefaultValueCalculator(facts, [])
     self.assertFalse(calculator._is_virtual_machine())
Пример #16
0
 def test_is_not_vert_when_fact_is_not_defined(self):
     facts = StubFacts({}, facts_changed=False)
     calculator = QuantityDefaultValueCalculator(facts, [])
     self.assertFalse(calculator._is_virtual_machine())
Пример #17
0
 def test_is_not_vert_when_fact_is_defined_as_empty(self):
     fact_dict = {QuantityDefaultValueCalculator._VIRT_IS_GUEST_FACT_NAME: ""}
     facts = StubFacts(fact_dict, facts_changed=False)
     calculator = QuantityDefaultValueCalculator(facts, [])
     self.assertFalse(calculator._is_virtual_machine())
Пример #18
0
 def test_get_total_consumed_adds_matched(self):
     calculator = QuantityDefaultValueCalculator(StubFacts({}), entitlements)
     self.assertEquals(5, calculator._get_total_consumed(product_id_1))
Пример #19
0
 def test_get_total_consumed_returns_zero_when_no_matches(self):
     calculator = QuantityDefaultValueCalculator(StubFacts({}), entitlements)
     self.assertEquals(0, calculator._get_total_consumed("does-not-match"))
Пример #20
0
 def test_total_consumed_does_not_include_future_entitlements(self):
     calculator = QuantityDefaultValueCalculator(StubFacts({}), entitlements)
     self.assertEquals(9, calculator._get_total_consumed(product_id_2))