def setUp(self):
     self.fixture = fixtures.CustomerFixture()
     self.division_1 = factories.DivisionFactory()
     self.division_2 = factories.DivisionFactory()
     self.fixture.customer.division = self.division_1
     self.fixture.customer.save()
     self.url = factories.CustomerFactory.get_url(self.fixture.customer)
    def test_private_offerings_are_available_for_users_in_allowed_customers(self):
        fixture = fixtures.CustomerFixture()
        self.offering.allowed_customers.add(fixture.customer)

        self.client.force_authenticate(fixture.owner)
        response = self.client.get(self.url)
        self.assertEqual(len(response.data), 1)
Exemple #3
0
 def setUp(self):
     self.fixture = structure_fixtures.CustomerFixture()
     self.fixture.owner
     self.invoice = factories.InvoiceFactory(customer=self.fixture.customer)
     self.patcher = mock.patch('waldur_mastermind.invoices.utils.pdfkit')
     mock_pdfkit = self.patcher.start()
     mock_pdfkit.from_string.return_value = b'pdf content'
Exemple #4
0
 def test_user_full_name_in_booking_details_if_user_belongs_to_the_same_organization(
     self, ):
     creator = self.fixture.order.created_by
     new_fixture = structure_fixtures.CustomerFixture()
     new_fixture.customer.add_user(
         creator, role=structure_models.CustomerRole.SERVICE_MANAGER)
     self.client.force_authenticate(new_fixture.owner)
     response = self.client.get(
         f'/api/marketplace-bookings/{self.fixture.offering.uuid.hex}/')
     self.assertEqual(response.status_code, status.HTTP_200_OK)
     self.assertCountEqual(
         response.data,
         [
             {
                 'created_by_full_name': creator.full_name,
                 'start': parse_datetime('2020-02-12T02:00:00+03:00'),
                 'end': parse_datetime('2020-02-15T02:00:00+03:00'),
             },
             {
                 'created_by_full_name': creator.full_name,
                 'start': parse_datetime('2020-03-01T02:00:00+03:00'),
                 'end': parse_datetime('2020-03-05T02:00:00+03:00'),
             },
         ],
     )
Exemple #5
0
    def setUp(self):
        self.fixture = structure_fixtures.CustomerFixture()
        self.offering = marketplace_factories.OfferingFactory(
            customer=self.fixture.customer, type=PLUGIN_NAME)
        self.schedules = [
            {
                'start': '2020-02-12T02:00:00+03:00',
                'end': '2020-02-15T02:00:00+03:00',
                'id': '123',
            },
            {
                'start': '2020-03-01T02:00:00+03:00',
                'end': '2020-03-05T02:00:00+03:00',
                'id': '456',
            },
        ]

        self.resource_1 = marketplace_factories.ResourceFactory(
            offering=self.offering,
            state=marketplace_models.Resource.States.OK,
            attributes={'schedules': [self.schedules[0]]},
        )

        self.resource_2 = marketplace_factories.ResourceFactory(
            offering=self.offering,
            state=marketplace_models.Resource.States.OK,
            attributes={'schedules': [self.schedules[1]]},
        )
Exemple #6
0
    def setUp(self):
        self.fixture = fixtures.CustomerFixture()
        self.fixture.owner
        self.service_provider = factories.ServiceProviderFactory(customer=self.fixture.customer)
        offering = factories.OfferingFactory(customer=self.fixture.customer)
        self.component = factories.OfferingComponentFactory(billing_type=models.OfferingComponent.BillingTypes.USAGE,
                                                            offering=offering)

        self.resource = factories.ResourceFactory(offering=offering, state=models.Resource.States.OK,
                                                  name='My resource')
 def setUp(self):
     self.fixture = structure_fixtures.CustomerFixture()
     self.service_provider = marketplace_factories.ServiceProviderFactory(
         customer=self.fixture.customer)
     self.credentials = factories.GoogleCredentialsFactory(
         service_provider=self.service_provider,
         calendar_token='calendar_token',
         calendar_refresh_token='calendar_refresh_token',
     )
     self.url = factories.GoogleCredentialsFactory.get_authorize_url(
         self.credentials)
Exemple #8
0
 def setUp(self):
     fixture_1 = structure_fixtures.CustomerFixture()
     fixture_1.owner
     fixture_2 = structure_fixtures.CustomerFixture()
     fixture_2.owner
     offering_1 = marketplace_factories.OfferingFactory(
         customer=fixture_1.customer, type=PLUGIN_NAME)
     offering_2 = marketplace_factories.OfferingFactory(
         customer=fixture_2.customer, type=PLUGIN_NAME)
     self.resource = marketplace_factories.ResourceFactory(
         offering=offering_1,
         state=marketplace_models.Resource.States.CREATING)
     self.order_item = marketplace_factories.OrderItemFactory(
         resource=self.resource,
         offering=offering_1,
         state=marketplace_models.OrderItem.States.EXECUTING)
     self.resource_2 = marketplace_factories.ResourceFactory(
         offering=offering_2)
     self.owner = self.resource.offering.customer.get_owners()[0]
     self.client.force_authenticate(self.owner)
 def test_missing_users_are_added_to_customer_group(self, mock_client):
     fixture = structure_fixtures.CustomerFixture()
     customer = fixture.customer
     owner = fixture.owner
     models.Profile.objects.create(user=owner, username=owner.username)
     mock_client().group_find.return_value = {'result': []}
     FreeIPABackend().synchronize_groups()
     mock_client().group_add_member.assert_called_once_with(
         'waldur_org_%s' % customer.uuid.hex,
         users=[owner.username],
         skip_errors=True,
     )
Exemple #10
0
    def execute_request(self, ordering_param=None):
        fixture = structure_fixtures.CustomerFixture()
        url = structure_factories.CustomerFactory.get_list_url()

        self.client.force_login(fixture.staff)
        params = {}
        if ordering_param:
            params[api_settings.ORDERING_PARAM] = ordering_param
        response = self.client.get(url, params)

        return [
            int(customer['billing_price_estimate']['current'])
            for customer in response.data
        ]
 def setUp(self):
     self.fixture = structure_fixtures.CustomerFixture()
     self.offering = marketplace_factories.OfferingFactory(
         customer=self.fixture.customer, type=PLUGIN_NAME
     )
     self.schedules = [
         {'start': '2020-02-12', 'end': '2020-02-15',},
         {'start': '2020-03-01', 'end': '2020-03-05',},
     ]
     for schedule in self.schedules:
         marketplace_factories.ResourceFactory(
             offering=self.offering,
             state=marketplace_models.Resource.States.OK,
             attributes={'schedules': [schedule],},
         )
Exemple #12
0
    def setUp(self):
        self.fixture = structure_fixtures.CustomerFixture()
        self.customer = self.fixture.customer
        self.other = structure_factories.UserFactory()

        self.valid_request = {
            'amount': decimal.Decimal('9.99'),
            'customer': structure_factories.CustomerFactory.get_url(self.customer),
            'return_url': 'http://example.com/return/',
            'cancel_url': 'http://example.com/cancel/'
        }

        self.valid_response = {
            'approval_url': 'https://www.paypal.com/webscr?cmd=_express-checkout&token=EC-60U79048BN7719609',
            'payer_id': '7E7MGXCWTTKK2',
            'token': 'EC-60U79048BN7719609'
        }
Exemple #13
0
 def setUp(self):
     self.fixture = structure_fixtures.CustomerFixture()
     schedules = [
         {
             'start': '2020-01-01T00:00:00.000Z',
             'end': '2020-01-02T00:00:00.000Z'
         },
         {
             'start': '2020-03-01T00:00:00.000Z',
             'end': '2020-03-02T00:00:00.000Z'
         },
     ]
     self.offering = marketplace_factories.OfferingFactory(
         customer=self.fixture.customer,
         type=PLUGIN_NAME,
         attributes={
             'schedules': schedules,
         },
     )
     self.url = marketplace_factories.OfferingFactory.get_url(self.offering)
    def test_logger_called_when_customer_role_is_revoked(self):
        fixture = fixtures.CustomerFixture()
        owner = fixture.owner

        with mock.patch(
                'waldur_core.structure.handlers.event_logger.customer_role.info'
        ) as logger_mock:
            fixture.customer.remove_user(owner,
                                         structure_models.CustomerRole.OWNER,
                                         fixture.staff)

            logger_mock.assert_called_once_with(
                'User {affected_user_username} has lost role of {role_name} in customer {customer_name}.',
                event_type='role_revoked',
                event_context={
                    'customer': fixture.customer,
                    'user': fixture.staff,
                    'affected_user': fixture.owner,
                    'structure_type': 'customer',
                    'role_name': 'Owner',
                },
            )
 def setUp(self):
     super(CustomerAdminTest, self).setUp()
     self.fixture = fixtures.CustomerFixture()
     self.customer = self.fixture.customer
     self.created_by = factories.UserFactory()