コード例 #1
0
ファイル: register.py プロジェクト: prymitive/upaas-client
    def main(self, name, metadata_path):
        self.setup_logger()
        self.log.info("Registering new application using metadata at "
                      "%s" % metadata_path)

        try:
            with open(metadata_path) as m:
                meta = m.read()
            MetadataConfig.from_file(metadata_path)
        except:
            self.log.error("Invalid metadata in %s" % metadata_path)
            return ExitCodes.command_error

        self.api_connect(self.parent.config.server.login,
                         self.parent.config.server.apikey,
                         self.parent.config.server.url)

        try:
            self.api.application.post({'name': name,
                                       'metadata': meta})
        except SlumberHttpBaseException as e:
            self.handle_error(e)
            return ExitCodes.command_error
        else:
            self.log.info("Application '%s' created successfully" % name)
コード例 #2
0
ファイル: update.py プロジェクト: prymitive/upaas-client
    def main(self, name, metadata_path):
        self.setup_logger()
        self.log.info("Registering new application using metadata at "
                      "%s" % metadata_path)

        meta = MetadataConfig.from_file(metadata_path)

        self.api_connect(self.parent.config.server.login,
                         self.parent.config.server.apikey,
                         self.parent.config.server.url)

        try:
            resp = self.api.application.get(name=name)
        except SlumberHttpBaseException as e:
            self.handle_error(e)
        else:
            if not resp.get('objects'):
                self.log.error("No such application registered: %s" % name)
                return ExitCodes.notfound_error

            app = resp['objects'][0]

            try:
                self.api.application(app['id']).patch(
                    {'metadata': meta.dump_string()})
            except SlumberHttpBaseException as e:
                self.handle_error(e)
            else:
                self.log.info("Application '%s' metadata updated "
                              "successfully" % name)
コード例 #3
0
def test_builder(builder_config):
    metadata_path = os.path.join(os.path.dirname(__file__),
                                 'mock_metadata.yml')
    metadata = MetadataConfig.from_file(metadata_path)
    builder = Builder(builder_config, metadata)
    for build_result in builder.build_package():
        continue
    assert build_result.progress == 100
    assert build_result.parent is None
    assert build_result.interpreter_version == '1.8.7'
    assert build_result.filename
    assert build_result.checksum
    assert build_result.bytes > 0