def create_package_template(self, component_price=10, component_amount=1): template = packages_factories.PackageTemplateFactory() template.components.update( price=component_price, amount=component_amount, ) return template
def extend_package(self, total_price): self.new_template = packages_factories.PackageTemplateFactory( service_settings=self.fixture.openstack_service_settings ) component_price = ( total_price / 31.0 / len(self.new_template.get_required_component_types()) ) for component_type in self.new_template.get_required_component_types(): self.new_template.components.filter(type=component_type).update( price=component_price, amount=1 ) view = packages_views.OpenStackPackageViewSet.as_view({'post': 'change'}) response = common_utils.create_request( view, self.fixture.owner, {'template': self.new_template.uuid.hex, 'package': self.package.uuid.hex,}, ) if response.status_code == status.HTTP_202_ACCEPTED: packages_utils.run_openstack_package_change_executor( self.package, self.new_template ) return response
def extend_package(self, total_price): self.new_template = packages_factories.PackageTemplateFactory( service_settings=self.fixture.openstack_service_settings) component_price = total_price / 31.0 / len( self.new_template.get_required_component_types()) for component_type in self.new_template.get_required_component_types(): self.new_template.components.filter(type=component_type).update( price=component_price, amount=1) self.client.force_authenticate(user=self.fixture.owner) response = self.client.post( packages_factories.OpenStackPackageFactory.get_list_url( action='change'), data={ 'template': packages_factories.PackageTemplateFactory.get_url( self.new_template), 'package': packages_factories.OpenStackPackageFactory.get_url( self.package), }) if response.status_code == status.HTTP_202_ACCEPTED: packages_utils.run_openstack_package_change_executor( self.package, self.new_template) return response
def get_package_create_payload(self): spl = self.fixture.openstack_spl spl_url = packages_factories.OpenStackServiceProjectLinkFactory.get_url(spl) template = packages_factories.PackageTemplateFactory(service_settings=spl.service.settings) return { 'service_project_link': spl_url, 'name': 'test_package', 'template': packages_factories.PackageTemplateFactory.get_url(template), }
def test_missing_offerings_are_created(self): customer = structure_factories.CustomerFactory() category = marketplace_models.Category.objects.create(title='VPC') with override_marketplace_packages_settings(CUSTOMER_ID=customer.id, CATEGORY_ID=category.id): template = package_factories.PackageTemplateFactory() marketplace_models.Offering.objects.all().delete() utils.create_missing_offerings() offering = marketplace_models.Offering.objects.get( scope=template.service_settings) self.assertEqual(template.service_settings.name, offering.name)
def test_when_openstack_package_is_extended_project_total_is_updated(self): fixture = packages_fixtures.PackageFixture() package = fixture.openstack_package new_template = packages_factories.PackageTemplateFactory( service_settings=fixture.openstack_service_settings) view = packages_views.OpenStackPackageViewSet.as_view( {'post': 'change'}) response = common_utils.create_request(view, fixture.owner, { 'template': new_template.uuid.hex, 'package': package.uuid.hex, }) self.assertEqual(response.status_code, status.HTTP_202_ACCEPTED)
def setUp(self): super(TenantUpdateTest, self).setUp() self.resource.state = marketplace_models.Resource.States.OK self.resource.save() self.new_template = package_factories.PackageTemplateFactory( service_settings=self.fixture.openstack_service_settings) self.new_plan = marketplace_factories.PlanFactory( offering=self.offering, scope=self.new_template, ) self.order_item = marketplace_factories.OrderItemFactory( resource=self.resource, plan=self.new_plan, type=marketplace_models.RequestTypeMixin.Types.UPDATE, ) self.package = self.fixture.openstack_package
def test_when_openstack_package_is_extended_project_total_is_updated(self): fixture = packages_fixtures.PackageFixture() package = fixture.openstack_package new_template = packages_factories.PackageTemplateFactory( service_settings=fixture.openstack_service_settings) self.client.force_authenticate(user=fixture.owner) response = self.client.post( packages_factories.OpenStackPackageFactory.get_list_url( action='change'), data={ 'template': packages_factories.PackageTemplateFactory.get_url( new_template), 'package': packages_factories.OpenStackPackageFactory.get_url(package), }) self.assertEqual(response.status_code, status.HTTP_202_ACCEPTED)