Beispiel #1
0
 def get_issue(self):
     response = self.request_switch_plan()
     order = marketplace_models.Order.objects.get(
         uuid=response.data['order_uuid'])
     order_item = order.items.first()
     process_order_item(order_item, self.user)
     return get_order_item_issue(order_item)
Beispiel #2
0
 def get_issue(self):
     response = self.request_limit_update()
     self.assertEqual(response.status_code, status.HTTP_200_OK)
     order = marketplace_models.Order.objects.get(
         uuid=response.data['order_uuid'])
     order_item = order.items.first()
     process_order_item(order_item, self.user)
     return get_order_item_issue(order_item)
Beispiel #3
0
 def test_service_provider_name_is_propagated(self):
     order_item = self.submit_order_item()
     name = order_item.offering.customer.name
     resource = marketplace_models.Resource.objects.get(name='item_name')
     order_item = marketplace_models.OrderItem.objects.get(
         resource=resource)
     issue = get_order_item_issue(order_item)
     self.assertTrue(name in issue.description)
Beispiel #4
0
    def get_order_item(self, issue_status):
        response = self.request_switch_plan()
        order = marketplace_models.Order.objects.get(
            uuid=response.data['order_uuid'])
        order_item = order.items.first()
        process_order_item(order_item, self.user)

        issue = get_order_item_issue(order_item)
        issue.status = issue_status
        issue.save()
        order_item.refresh_from_db()
        return order_item
Beispiel #5
0
 def test_add_links_to_previous_issues(self):
     create_issue = support_factories.IssueFactory(resource=self.order_item)
     order_item = self.get_order_item(self.success_issue_status)
     self.assertEqual(
         self.mock_get_active_backend().create_issue.call_count, 1)
     self.assertEqual(
         self.mock_get_active_backend().create_issue_links.call_count, 1)
     update_issue = get_order_item_issue(order_item)
     self.mock_get_active_backend(
     ).create_issue_links.assert_called_once_with(
         update_issue,
         list(support_models.Issue.objects.filter(id=create_issue.id)))
Beispiel #6
0
 def test_add_backlink_to_order_item_details_into_created_service_desk_ticket(
         self):
     order_item = self.submit_order_item()
     self.assertTrue(
         marketplace_models.Resource.objects.filter(
             name='item_name').exists())
     issue = get_order_item_issue(order_item)
     order_item_url = core_utils.format_homeport_link(
         'projects/{project_uuid}/marketplace-order-item-details/{order_item_uuid}/',
         order_item_uuid=order_item.uuid.hex,
         project_uuid=order_item.order.project.uuid,
     )
     self.assertTrue(order_item_url in issue.description)
Beispiel #7
0
    def get_order_item(self, issue_status):
        response = self.request_limit_update()
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        order = marketplace_models.Order.objects.get(
            uuid=response.data['order_uuid'])
        order_item = order.items.first()
        process_order_item(order_item, self.user)

        issue = get_order_item_issue(order_item)
        issue.status = issue_status
        issue.save()
        order_item.refresh_from_db()
        return order_item
Beispiel #8
0
    def get_order_item(self, issue_status):
        self.request_resource_termination()
        order = marketplace_models.Order.objects.get(project=self.project)
        order_item = order.items.first()
        if order_item.order.state != marketplace_models.Order.States.EXECUTING:
            order_item.order.approve()
            order_item.order.save()
        process_order_item(order_item, self.user)

        issue = get_order_item_issue(order_item)
        issue.status = issue_status
        issue.save()
        return marketplace_models.OrderItem.objects.first()
Beispiel #9
0
 def test_description_formatting(self):
     order_item = self.submit_order_item()
     resource = marketplace_models.Resource.objects.get(name='item_name')
     issue = get_order_item_issue(order_item)
     self.assertTrue('Order item' in issue.description)
     self.assertTrue(resource.plan.name in issue.description)
     self.assertTrue(resource.plan.components.first().component.name in
                     issue.description)
     self.assertTrue(
         order_item.order.created_by.full_name in issue.description)
     self.assertTrue(
         order_item.order.created_by.civil_number in issue.description)
     self.assertTrue(order_item.order.created_by.email in issue.description)
Beispiel #10
0
 def test_order_item_serializer_includes_issue_link(self):
     order_item = self.submit_order_item()
     issue = get_order_item_issue(order_item)
     issue.key = 'SUP-123'
     issue.save()
     self.client.force_authenticate(self.fixture.staff)
     url = marketplace_factories.OrderItemFactory.get_url(
         order_item=order_item)
     resource = self.client.get(url)
     self.assertEqual(
         resource.data['issue'],
         {
             'key': 'SUP-123',
             'uuid': issue.uuid.hex
         },
     )
Beispiel #11
0
    def test_issue_caller_is_equal_order_created_by(self):
        fixture = fixtures.ProjectFixture()
        offering = marketplace_factories.OfferingFactory(type=PLUGIN_NAME,
                                                         options={'order': []})

        order_item = marketplace_factories.OrderItemFactory(
            offering=offering,
            attributes={
                'name': 'item_name',
                'description': 'Description'
            },
        )

        serialized_order = core_utils.serialize_instance(order_item.order)
        serialized_user = core_utils.serialize_instance(fixture.staff)
        marketplace_tasks.process_order(serialized_order, serialized_user)

        resource = marketplace_models.Resource.objects.get(name='item_name')
        order_item = marketplace_models.OrderItem.objects.get(
            resource=resource)
        issue = get_order_item_issue(order_item)
        self.assertEqual(issue.caller, order_item.order.created_by)