def setUp(self): fixture = package_fixtures.OpenStackFixture() offering = marketplace_factories.OfferingFactory( type=PACKAGE_TYPE, scope=fixture.openstack_service_settings ) create_offering_components(offering) for name in 'Basic', 'Advanced': plan = marketplace_factories.PlanFactory(offering=offering, name=name) prices = { CORES_TYPE: 1, RAM_TYPE: 0.1, STORAGE_TYPE: 0.01, } for key, value in prices.items(): component = marketplace_models.OfferingComponent.objects.get( offering=offering, type=key, ) marketplace_models.PlanComponent.objects.create( plan=plan, component=component, price=value, ) resource = marketplace_factories.ResourceFactory( offering=offering, plan=plan, ) marketplace_factories.OrderItemFactory( offering=offering, plan=plan, resource=resource, ) self.offering = offering
def setUp(self): super(VpcExternalFilterTest, self).setUp() self.fixture = package_fixtures.OpenStackFixture() self.offering = marketplace_factories.OfferingFactory( category=self.tenant_category ) self.url = marketplace_factories.OfferingFactory.get_list_url()
def test_template_for_plan_is_created(self): fixture = package_fixtures.OpenStackFixture() offering = marketplace_factories.OfferingFactory( type=PACKAGE_TYPE, scope=fixture.openstack_service_settings) plan = marketplace_factories.PlanFactory(offering=offering) ram_component = marketplace_models.OfferingComponent.objects.create( offering=offering, type=RAM_TYPE, ) marketplace_models.PlanComponent.objects.create( plan=plan, component=ram_component, amount=20, price=10, ) cores_component = marketplace_models.OfferingComponent.objects.create( offering=offering, type=CORES_TYPE, ) marketplace_models.PlanComponent.objects.create( plan=plan, component=cores_component, amount=10, price=3, ) storage_component = marketplace_models.OfferingComponent.objects.create( offering=offering, type=STORAGE_TYPE, ) marketplace_models.PlanComponent.objects.create( plan=plan, component=storage_component, amount=100, price=1, ) plan.refresh_from_db() template = plan.scope self.assertTrue(isinstance(template, package_models.PackageTemplate)) template_ram_component = template.components.get(type=RAM_TYPE) template_cores_component = template.components.get(type=CORES_TYPE) template_storage_component = template.components.get(type=STORAGE_TYPE) self.assertEqual(template_ram_component.amount, 20 * 1024) self.assertEqual(template_ram_component.price, 10.0 / 1024) self.assertEqual(template_cores_component.amount, 10) self.assertEqual(template_cores_component.price, 3) self.assertEqual(template_storage_component.amount, 100 * 1024) self.assertEqual(template_storage_component.price, 1.0 / 1024)
def trigger_offering_creation(self): fixture = package_fixtures.OpenStackFixture() tenant = openstack_models.Tenant.objects.create( service_project_link=fixture.openstack_spl, state=openstack_models.Tenant.States.CREATING, ) resource = marketplace_factories.ResourceFactory(scope=tenant) marketplace_factories.OrderItemFactory(resource=resource) tenant.set_ok() tenant.save() return tenant
def test_offering_is_not_created_if_tenant_is_not_created_via_marketplace( self, offering_type): fixture = package_fixtures.OpenStackFixture() tenant = openstack_models.Tenant.objects.create( service_project_link=fixture.openstack_spl, state=openstack_models.Tenant.States.CREATING, ) tenant.set_ok() tenant.save() self.assertRaises(ObjectDoesNotExist, marketplace_models.Offering.objects.get, type=offering_type)
def test_when_plan_name_is_updated_template_is_updated(self): # Arrange fixture = package_fixtures.OpenStackFixture() offering = marketplace_factories.OfferingFactory( type=PACKAGE_TYPE, scope=fixture.openstack_service_settings) plan = marketplace_factories.PlanFactory(offering=offering) plan.refresh_from_db() # Act plan.name = 'Compute-intensive' plan.save() template = plan.scope # Assert self.assertEqual(template.name, plan.name)
def test_when_plan_is_archived_template_is_updated(self): # Arrange fixture = package_fixtures.OpenStackFixture() offering = marketplace_factories.OfferingFactory( type=PACKAGE_TYPE, scope=fixture.openstack_service_settings) plan = marketplace_factories.PlanFactory(offering=offering) plan.refresh_from_db() # Act plan.archived = True plan.save() template = plan.scope # Assert self.assertTrue(template.archived)
def test_template_for_plan_is_created(self): fixture = package_fixtures.OpenStackFixture() offering = marketplace_factories.OfferingFactory( type=PLUGIN_NAME, scope=fixture.openstack_service_settings) plan = marketplace_factories.PlanFactory(offering=offering) marketplace_models.PlanComponent.objects.create( plan=plan, type='ram', amount=10240, price=10, ) plan.refresh_from_db() template = plan.scope self.assertTrue(isinstance(template, package_models.PackageTemplate)) self.assertEqual(plan.components.get(type='ram').price, 10)
def setUp(self): # Arrange super(StorageModeTest, self).setUp() fixture = package_fixtures.OpenStackFixture() tenant = fixture.openstack_tenant offering_component = marketplace_models.OfferingComponent.objects.create( offering=self.offering, type='gigabytes_gpfs') marketplace_models.PlanComponent.objects.create( component=offering_component, plan=self.plan, price=10, ) self.resource.scope = tenant self.resource.save() tenant.set_quota_usage('storage', 30 * 1024) tenant.set_quota_usage('gigabytes_gpfs', 100 * 1024)