def setUp(self): super(BaseOpenStackTest, self).setUp() self.tenant_category = marketplace_factories.CategoryFactory( title='Tenant', default_tenant_category=True) self.instance_category = marketplace_factories.CategoryFactory( title='Instance', default_vm_category=True) self.volume_category = marketplace_factories.CategoryFactory( title='Volume', default_volume_category=True)
def test_import_instances_and_volumes_if_tenant_has_been_imported( self, mock_tasks): marketplace_factories.CategoryFactory(default_vm_category=True) marketplace_factories.CategoryFactory(default_volume_category=True) response = self.import_tenant() self.assertEquals(response.status_code, status.HTTP_201_CREATED, response.data) mock_tasks.import_instances_and_volumes_of_tenant.delay.assert_called_once( )
def setUp(self): super(BaseOpenStackTest, self).setUp() self.tenant_category = marketplace_factories.CategoryFactory( title='Tenant') self.instance_category = marketplace_factories.CategoryFactory( title='Instance') self.volume_category = marketplace_factories.CategoryFactory( title='Volume') self.decorator = override_plugin_settings( TENANT_CATEGORY_UUID=self.tenant_category.uuid, INSTANCE_CATEGORY_UUID=self.instance_category.uuid, VOLUME_CATEGORY_UUID=self.volume_category.uuid, ) self.decorator.enable()
def test_create_missing_support_offerings(self): offering = support_factories.OfferingFactory() category = marketplace_factories.CategoryFactory() customer = structure_factories.CustomerFactory() marketplace_support_utils.init_offerings_and_resources(category, customer) self.assertTrue(marketplace_models.Resource.objects.filter(scope=offering, project=offering.project).exists())
def setUp(self): self.fixture = fixtures.MarketplaceFixture() self.offering = self.fixture.offering self.offering.state = models.Offering.States.ACTIVE self.offering.save() self.category = self.offering.category self.customer = self.offering.customer self.url = factories.CategoryFactory.get_list_url() factories.CategoryFactory()
def test_create_missing_support_offerings_with_offering_plan(self): offering = support_factories.OfferingFactory() category = marketplace_factories.CategoryFactory() customer = structure_factories.CustomerFactory() offering_plan = support_factories.OfferingPlanFactory(template=offering.template, unit_price=offering.unit_price) marketplace_support_utils.init_offerings_and_resources(category, customer) self.assertTrue(marketplace_models.Plan.objects.filter(scope=offering_plan).exists()) self.assertEqual(marketplace_models.Plan.objects.count(), 1) self.assertTrue(marketplace_models.Resource.objects.filter(scope=offering).exists())
def test_create_slurm_package(self): fixture = structure_fixtures.ProjectFixture() url = marketplace_factories.OfferingFactory.get_list_url() self.client.force_authenticate(fixture.staff) category = marketplace_factories.CategoryFactory() payload = { 'name': 'offering', 'type': PLUGIN_NAME, 'category': marketplace_factories.CategoryFactory.get_url(category=category), 'customer': structure_factories.CustomerFactory.get_url( customer=fixture.customer), 'service_attributes': { 'batch_service': 'SLURM', 'hostname': 'example.com', 'username': '******', 'port': 8888, 'gateway': 'gw.example.com', 'use_sudo': 'true', 'default_account': 'TEST', }, 'plans': [{ 'name': 'default', 'description': 'default plan', 'unit': UnitPriceMixin.Units.QUANTITY, 'unit_price': 100, 'prices': { 'cpu': 10, 'gpu': 100, 'ram': 1000, }, }] } with mock.patch( 'waldur_core.structure.models.ServiceSettings.get_backend'): response = self.client.post(url, payload) self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data) package = slurm_invoices_models.SlurmPackage.objects.last() self.assertEqual(package.cpu_price, 10) self.assertEqual(package.gpu_price, 100) self.assertEqual(package.ram_price, 1000)
def test_create_missing_support_offering_templates(self): offering_template = support_factories.OfferingTemplateFactory() category = marketplace_factories.CategoryFactory() customer = structure_factories.CustomerFactory() marketplace_support_utils.init_offerings_and_resources( category, customer) self.assertTrue( marketplace_models.Offering.objects.filter( scope=offering_template).exists()) self.assertTrue( marketplace_models.Offering.objects.filter( scope=offering_template).count(), 1) marketplace_support_utils.init_offerings_and_resources( category, customer) self.assertTrue( marketplace_models.Offering.objects.filter( scope=offering_template).count(), 1)
def setUp(self): self.fixture = structure_fixtures.ProjectFixture() self.customer = self.fixture.customer self.project = self.fixture.project self.category = factories.CategoryFactory() self.category_component = factories.CategoryComponentFactory( category=self.category) self.offering = factories.OfferingFactory( category=self.category, type=TENANT_TYPE, state=models.Offering.States.ACTIVE, ) self.offering_component = factories.OfferingComponentFactory( offering=self.offering, parent=self.category_component, type='cores', billing_type=models.OfferingComponent.BillingTypes.LIMIT, )
def test_create_slurm_package(self): fixture = structure_fixtures.ProjectFixture() url = marketplace_factories.OfferingFactory.get_list_url() self.client.force_authenticate(fixture.staff) service_settings = structure_factories.ServiceSettingsFactory( type=SlurmConfig.service_name) category = marketplace_factories.CategoryFactory() payload = { 'name': 'offering', 'type': PLUGIN_NAME, 'scope': structure_factories.ServiceSettingsFactory.get_url( settings=service_settings), 'category': marketplace_factories.CategoryFactory.get_url(category=category), 'customer': structure_factories.CustomerFactory.get_url( customer=fixture.customer), 'plans': [{ 'name': 'default', 'description': 'default plan', 'unit': UnitPriceMixin.Units.QUANTITY, 'unit_price': 100, 'prices': { 'cpu': 10, 'gpu': 100, 'ram': 1000, }, }] } response = self.client.post(url, payload) self.assertEqual(response.status_code, status.HTTP_201_CREATED) package = slurm_invoices_models.SlurmPackage.objects.last() self.assertEqual(package.service_settings, service_settings) self.assertEqual(package.cpu_price, 10) self.assertEqual(package.gpu_price, 100) self.assertEqual(package.ram_price, 1000)
def setUp(self): super(AllocationImportTest, self).setUp() self.category = marketplace_factories.CategoryFactory(title='SLURM') self.decorator = override_plugin_settings( CATEGORY_UUID=self.category.uuid.hex, ) self.decorator.enable()