/opt/imh-python/lib/python3.9/site-packages/libcloud/test
NameSizeModeActions
backup/-0755rm
common/-0755rm
compute/-0755rm
container/-0755rm
dns/-0755rm
loadbalancer/-0755rm
storage/-0755rm
__pycache__/-0755rm
conftest.py16490644editdlrm
file_fixtures.py37460644editdlrm
pricing_test.json1270644editdlrm
secrets.py47030644editdlrm
secrets.py-dist48420644editdlrm
test_connection.py163420644editdlrm
test_file_fixtures.py30930644editdlrm
test_http.py35290644editdlrm
test_init.py31190644editdlrm
test_logging_connection.py55820644editdlrm
test_pricing.py46190644editdlrm
test_response_classes.py50020644editdlrm
test_types.py36810644editdlrm
test_utils.py151010644editdlrm
__init__.py85810644editdlrm
Edit: /opt/imh-python/lib/python3.9/site-packages/libcloud/test/test_pricing.py (4619B)
# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import os.path import sys import unittest import libcloud.pricing PRICING_FILE_PATH = os.path.join(os.path.dirname(__file__), 'pricing_test.json') class PricingTestCase(unittest.TestCase): def test_get_pricing_success(self): self.assertFalse('foo' in libcloud.pricing.PRICING_DATA['compute']) pricing = libcloud.pricing.get_pricing(driver_type='compute', driver_name='foo', pricing_file_path=PRICING_FILE_PATH) self.assertEqual(pricing['1'], 1.0) self.assertEqual(pricing['2'], 2.0) self.assertEqual(libcloud.pricing.PRICING_DATA['compute']['foo']['1'], 1.0) self.assertEqual(libcloud.pricing.PRICING_DATA['compute']['foo']['2'], 2.0) def test_get_pricing_invalid_file_path(self): try: libcloud.pricing.get_pricing(driver_type='compute', driver_name='bar', pricing_file_path='inexistent.json') except IOError: pass else: self.fail('Invalid pricing file path provided, but an exception was not' ' thrown') def test_get_pricing_invalid_driver_type(self): try: libcloud.pricing.get_pricing(driver_type='invalid_type', driver_name='bar', pricing_file_path='inexistent.json') except AttributeError: pass else: self.fail('Invalid driver_type provided, but an exception was not' ' thrown') def test_get_pricing_not_in_cache(self): try: libcloud.pricing.get_pricing(driver_type='compute', driver_name='inexistent', pricing_file_path=PRICING_FILE_PATH) except KeyError: pass else: self.fail('Invalid driver provided, but an exception was not' ' thrown') def test_get_size_price(self): libcloud.pricing.PRICING_DATA['compute']['foo'] = {2: 2, '3': 3} price1 = libcloud.pricing.get_size_price(driver_type='compute', driver_name='foo', size_id=2) price2 = libcloud.pricing.get_size_price(driver_type='compute', driver_name='foo', size_id='3') self.assertEqual(price1, 2) self.assertEqual(price2, 3) def test_invalid_pricing_cache(self): libcloud.pricing.PRICING_DATA['compute']['foo'] = {2: 2} self.assertTrue('foo' in libcloud.pricing.PRICING_DATA['compute']) libcloud.pricing.invalidate_pricing_cache() self.assertFalse('foo' in libcloud.pricing.PRICING_DATA['compute']) def test_invalid_module_pricing_cache(self): libcloud.pricing.PRICING_DATA['compute']['foo'] = {1: 1} self.assertTrue('foo' in libcloud.pricing.PRICING_DATA['compute']) libcloud.pricing.invalidate_module_pricing_cache(driver_type='compute', driver_name='foo') self.assertFalse('foo' in libcloud.pricing.PRICING_DATA['compute']) libcloud.pricing.invalidate_module_pricing_cache(driver_type='compute', driver_name='foo1') def test_set_pricing(self): self.assertFalse('foo' in libcloud.pricing.PRICING_DATA['compute']) libcloud.pricing.set_pricing(driver_type='compute', driver_name='foo', pricing={'foo': 1}) self.assertTrue('foo' in libcloud.pricing.PRICING_DATA['compute']) if __name__ == '__main__': sys.exit(unittest.main())