예제 #1
0
    def serviceclient(self, mocker, fixture_ghcs, fixture_sas, request):
        service_client = mocker.patch(path_service_client)
        service_client.scenario = request.param

        if request.param == "v2":
            service_client.side_effect = [
                build_mock_response(
                    mocker,
                    200,
                    generate_job_show(
                        job_status=JobStatusType.running.value,
                        job_version=request.param,
                    ),
                )
            ]
        elif request.param == "v1":
            service_client.side_effect = [
                build_mock_response(
                    mocker,
                    200,
                    generate_job_status(
                        job_status=JobStatusType.unknown.value),
                ),
                build_mock_response(
                    mocker,
                    200,
                    generate_job_show(
                        job_status=JobStatusType.running.value,
                        job_type=JobType.exportDevices.value,
                        job_version=request.param,
                    ),
                ),
            ]

        return service_client
예제 #2
0
 def serviceclient(self, mocker, fixture_ghcs, fixture_sas, request):
     service_client = mocker.patch(path_service_client)
     service_client.side_effect = [
         build_mock_response(mocker),
         build_mock_response(mocker, payload=[]),
     ]
     return service_client
예제 #3
0
 def serviceclient_error(self, mocker, fixture_ghcs, request):
     service_client = mocker.patch(path_service_client)
     output = generate_device_interfaces_payload()
     test_side_effect = [
         build_mock_response(mocker, request.param[0], payload=output),
         build_mock_response(mocker, request.param[1], {}),
     ]
     service_client.side_effect = test_side_effect
     return service_client
예제 #4
0
 def serviceclient(self, mocker, fixture_ghcs, request):
     service_client = mocker.patch(path_service_client)
     output = generate_device_interfaces_payload()
     payload_list = generate_pnp_interface_list_payload()
     payload_show = generate_pnp_interface_show_payload()
     test_side_effect = [
         build_mock_response(mocker, request.param, payload=output),
         build_mock_response(mocker, request.param, payload=payload_list),
         build_mock_response(mocker, request.param, payload=payload_show),
     ]
     service_client.side_effect = test_side_effect
     return service_client
예제 #5
0
 def serviceclient_test_wait(self, mocker, fixture_ghcs, fixture_sas,
                             request):
     service_client = mocker.patch(path_service_client)
     test_side_effect = [
         # Job Queued
         build_mock_response(
             mocker,
             request.param[0],
             {
                 "jobId": "myjob",
                 "status": JobStatusType.queued.value,
                 "type": JobType.scheduleUpdateTwin.value,
             },
         ),
         build_mock_response(
             mocker,
             request.param[0],
             {
                 "jobId": "myjob",
                 "status": JobStatusType.running.value,
                 "type": JobType.scheduleUpdateTwin.value,
             },
         ),
         build_mock_response(
             mocker,
             request.param[0],
             {
                 "createdTime": "2020-01-01T01:06:38.2649798Z",
                 "deviceJobStatistics": {
                     "deviceCount": 6,
                     "failedCount": 0,
                     "pendingCount": 0,
                     "runningCount": 0,
                     "succeededCount": 6,
                 },
                 "endTime": "2020-01-01T01:06:42.4993645Z",
                 "jobId": "myjob",
                 "maxExecutionTimeInSeconds": 900,
                 "queryCondition": "*",
                 "startTime": "2020-01-01T01:06:38.2649798Z",
                 "status": request.param[1],
                 "type": "scheduleUpdateTwin",
                 "updateTwin": {
                     "deviceId": None,
                     "etag": "*",
                     "tags": {
                         "deviceClass": "Class1, Class2"
                     },
                 },
             },
         ),
     ]
     service_client.side_effect = test_side_effect
예제 #6
0
 def serviceclient(self, mocker, fixture_ghcs, fixture_sas, request):
     service_client = mocker.patch(path_service_client)
     side_effect = [
         build_mock_response(mocker, request.param),
     ]
     service_client.side_effect = side_effect
     return service_client
예제 #7
0
        def handle_calls(*args, **kwargs):
            parsed_url = urlparse(args[0].url)
            parsed_qs = parse_qs(parsed_url.query)
            result_set = []

            if "/jobs?" in args[0].url:
                payload = request.param["v1"]

                for job in payload:
                    result_set.append(
                        generate_job_show(
                            job_status=job["status"],
                            job_type=job["type"],
                            job_version="v1",
                        ))

                return build_mock_response(mocker, 200, result_set)

            if "/jobs/v2/query?" in args[0].url:
                payload = request.param["v2"]
                status_request = None
                type_request = None

                if "jobType" in parsed_qs:
                    type_request = parsed_qs["jobType"][0]

                if "jobStatus" in parsed_qs:
                    status_request = parsed_qs["jobStatus"][0]

                for job in payload:
                    if type_request:
                        if job["type"] != type_request:
                            continue
                    if status_request:
                        if job["status"] != status_request:
                            continue

                    result_set.append(
                        generate_job_show(job_status=job["status"],
                                          job_type=job["type"]))

                return build_mock_response(mocker, 200, result_set,
                                           {"x-ms-continuation": None})
예제 #8
0
 def serviceclient(self, mocker, fixture_ghcs, request):
     service_client = mocker.patch(path_service_client)
     service_client.return_value = build_mock_response(
         mocker, request.param, {})
     return service_client
예제 #9
0
 def serviceclient(self, mocker, request):
     service_client = mocker.patch(path_service_client)
     output = generate_device_interfaces_payload()
     service_client.return_value = build_mock_response(
         mocker, request.param, output)
     return service_client
예제 #10
0
 def serviceclient(self, mocker, fixture_ghcs, fixture_sas, request,
                   sample_config_show):
     service_client = mocker.patch(path_service_client)
     service_client.return_value = build_mock_response(
         mocker, request.param, sample_config_show)
     return service_client