Example #1
0
def create(config_data):
    """Create snap.yaml and necessary package hooks.
    Create  the meta directory and provision it with snap.yaml and hooks
    in the snap dir using information from config_data.

    :param dict config_data: project values defined in snapcraft.yaml.
    :return: meta_dir.
    """
    meta_dir = os.path.join(common.get_snapdir(), 'meta')
    os.makedirs(meta_dir, exist_ok=True)

    snap_yaml = _write_snap_yaml(meta_dir, config_data)
    _setup_assets(meta_dir, config_data)

    meta_legacy.create(meta_dir, snap_yaml)

    return meta_dir
    def test_create_meta(self):
        meta_legacy.create(self.meta_dir, self.snap_yaml)

        self.assertTrue(
            os.path.exists(self.package_yaml), 'package.yaml was not created')

        with open(self.package_yaml) as f:
            y = yaml.load(f)

        expected = {'architectures': ['amd64'],
                    'binaries': [{
                        'exec': 'bin/bash',
                        'name': 'bash',
                        'security-policy': {
                            'apparmor': 'file.apparmor',
                            'seccomp': 'file.seccomp'}}],
                    'name': 'my-package',
                    'version': '1.0'}

        self.assertEqual(y, expected)