Ejemplo n.º 1
0
    def test_simple_clone_without_params_create_exists_continue(self):
        CALL_ID_FETCH_REPO_DATA = 1

        log_builder = LogBuilder()
        log_builder.log_error(
            make_gcts_log_error(
                '20200923111743: Error action CREATE_REPOSITORY Repository already exists'
            ))
        log_builder.log_exception('Cannot create', 'EEXIST').get_contents()
        messages = log_builder.get_contents()

        new_repo_data = dict(self.repo_server_data)
        new_repo_data['status'] = 'CREATED'

        self.conn.set_responses([
            Response.with_json(status_code=500, json=messages),
            Response.with_json(status_code=200, json={'result':
                                                      new_repo_data}),
            Response.ok()
        ])

        repo = sap.rest.gcts.simple_clone(self.conn,
                                          self.repo_url,
                                          self.repo_name,
                                          error_exists=False)
        self.assertIsNotNone(repo)
        self.assertEqual(len(self.conn.execs), 3)
        self.conn.execs[CALL_ID_FETCH_REPO_DATA].assertEqual(
            Request.get_json(uri=f'repository/{self.repo_name}'), self)
Ejemplo n.º 2
0
    def test_simple_clone_success(self):
        CALL_ID_CREATE = 0
        CALL_ID_CLONE = 1

        repository = dict(self.repo_server_data)
        repository['status'] = 'CREATED'

        self.conn.set_responses(
            Response.with_json(status_code=201,
                               json={'repository': repository}), Response.ok())

        sap.rest.gcts.simple_clone(self.conn,
                                   self.repo_url,
                                   self.repo_name,
                                   vcs_token='THE_TOKEN')

        data = dict(self.repo_data)
        data['config'] = [{
            'key': 'VCS_TARGET_DIR',
            'value': 'src/'
        }, {
            'key': 'CLIENT_VCS_AUTH_TOKEN',
            'value': 'THE_TOKEN'
        }]

        request_load = {'repository': self.repo_name, 'data': data}

        self.assertEqual(len(self.conn.execs), 2)

        self.conn.execs[CALL_ID_CREATE].assertEqual(Request.post_json(
            uri='repository', body=request_load, accept='application/json'),
                                                    self,
                                                    json_body=True)
        self.conn.execs[CALL_ID_CLONE].assertEqual(
            Request.post(uri=f'repository/{self.repo_name}/clone'), self)