~jdstrand/click-apparmor/apparmor-profile

« back to all changes in this revision

Viewing changes to test-clicktool.py

  • Committer: Jamie Strandboge
  • Date: 2014-11-25 16:38:07 UTC
  • Revision ID: jamie@ubuntu.com-20141125163807-yc2kp1pnib70qivv
* debian/postrm: remove md5sum file on purge
* add ubuntu-core-15.04 framework and adjust tests

Show diffs side-by-side

added added

removed removed

Lines of Context:
50
50
 
51
51
    def _stub_json(self, name, version):
52
52
        j = dict()
53
 
        j['framework'] = sorted(click.framework_transforms.keys())[0]
 
53
 
 
54
        # many tests assume a policy version of 1.0, so use ubuntu-sdk-13.10
 
55
        # by default
 
56
        j['framework'] = 'ubuntu-sdk-13.10'
54
57
        j['name'] = name
55
58
        j['version'] = version
56
59
        j['hooks'] = dict()
1204
1207
                              "Expected to get %s, got %s" %
1205
1208
                              (expected, easyprof_manifest))
1206
1209
 
 
1210
    def test_parse_security_manifest_framework_core_1504(self):
 
1211
        '''Test manifest framework (core 15.04)'''
 
1212
        c = self.clickstate
 
1213
        package = "com.ubuntu.developer.username.yourapp"
 
1214
        c.add_package(package, "0.3", framework='ubuntu-core-15.04')
 
1215
        security_json = '''{
 
1216
  "policy_vendor": "ubuntu-snappy",
 
1217
  "template": "service",
 
1218
  "policy_groups": [ "networking" ],
 
1219
  "policy_version": 1.3
 
1220
}'''
 
1221
        appname = 'sample-app'
 
1222
        c.add_app(appname, manifest=security_json)
 
1223
 
 
1224
        cm = click.ClickManifest(os.path.join(c.click_dir,
 
1225
                                 "%s_%s_0.3.json" % (package, appname)))
 
1226
        easyprof_manifest = click.transform(cm)
 
1227
 
 
1228
        dbus_id = click.dbus_path("%s_%s_0.3" % (package, appname))
 
1229
        dbus_pkgname = click.dbus_path(c.package)
 
1230
 
 
1231
        expected = json.loads('''{
 
1232
  "profiles": {
 
1233
    "%s_%s_0.3": {
 
1234
      "policy_groups": [
 
1235
        "networking"
 
1236
      ],
 
1237
      "policy_vendor": "ubuntu-snappy",
 
1238
      "policy_version": 1.3,
 
1239
      "template": "service",
 
1240
      "template_variables": {
 
1241
        "APP_ID_DBUS": "%s",
 
1242
        "APP_PKGNAME_DBUS": "%s",
 
1243
        "APP_PKGNAME": "%s",
 
1244
        "APP_APPNAME": "%s",
 
1245
        "APP_VERSION": "0.3",
 
1246
        "CLICK_DIR": "%s"
 
1247
      }
 
1248
    }
 
1249
  }
 
1250
}''' % (package, appname, dbus_id, dbus_pkgname, package, appname,
 
1251
            click_databases))
 
1252
        self.assertEquals(expected, easyprof_manifest,
 
1253
                          "Expected to get %s, got %s" %
 
1254
                          (expected, easyprof_manifest))
 
1255
 
 
1256
    def test_parse_security_manifest_framework_core_1504_subframework(self):
 
1257
        '''Test manifest framework 15.04 core (subframeworks)'''
 
1258
        for sub in ['-dev', '-dev1']:
 
1259
            c = self.clickstate
 
1260
            package = "com.ubuntu.developer.username.yourapp%s" % sub
 
1261
            c.add_package(package, "0.3",
 
1262
                          framework='ubuntu-core-15.04%s' % sub)
 
1263
            security_json = '''{
 
1264
  "policy_vendor": "ubuntu-snappy",
 
1265
  "template": "service",
 
1266
  "policy_groups": [ "networking" ],
 
1267
  "policy_version": 1.3
 
1268
}'''
 
1269
            appname = 'sample-app'
 
1270
            c.add_app(appname, manifest=security_json)
 
1271
 
 
1272
            cm = click.ClickManifest(os.path.join(c.click_dir,
 
1273
                                     "%s_%s_0.3.json" % (package, appname)))
 
1274
            easyprof_manifest = click.transform(cm)
 
1275
 
 
1276
            dbus_id = click.dbus_path("%s_%s_0.3" % (package, appname))
 
1277
            dbus_pkgname = click.dbus_path(c.package)
 
1278
 
 
1279
            expected = json.loads('''{
 
1280
  "profiles": {
 
1281
    "%s_%s_0.3": {
 
1282
      "policy_groups": [
 
1283
        "networking"
 
1284
      ],
 
1285
      "policy_vendor": "ubuntu-snappy",
 
1286
      "policy_version": 1.3,
 
1287
      "template": "service",
 
1288
      "template_variables": {
 
1289
        "APP_ID_DBUS": "%s",
 
1290
        "APP_PKGNAME_DBUS": "%s",
 
1291
        "APP_PKGNAME": "%s",
 
1292
        "APP_APPNAME": "%s",
 
1293
        "APP_VERSION": "0.3",
 
1294
        "CLICK_DIR": "%s"
 
1295
      }
 
1296
    }
 
1297
  }
 
1298
}''' % (package, appname, dbus_id, dbus_pkgname, package, appname,
 
1299
                click_databases))
 
1300
            self.assertEquals(expected, easyprof_manifest,
 
1301
                              "Expected to get %s, got %s" %
 
1302
                              (expected, easyprof_manifest))
 
1303
 
1207
1304
    def test_parse_security_manifest_framework_nonexistent(self):
1208
1305
        '''Test framework (nonexistent)'''
1209
1306
        c = self.clickstate