def test_check_service_not_specified(self): '''Test check_service() - not specified''' c = ClickReviewAccounts(self.test_name) c.check_service() r = c.click_report expected_counts = {'info': 0, 'warn': 0, 'error': 0} self.check_results(r, expected_counts)
def test_check_manifest(self): '''Test check_manifest()''' data = json.loads('''{ "translations": "my-app", "services": [ { "name": "Example", "provider": "myapp.com_example", "description": "publish my photos in example.com", "auth": { "oauth2/web_server": { "ClientId": "foo", "ClientSecret": "bar", "UseSSL": false, "Scopes": ["one scope","and another"] } } }, { "provider": "becool" } ], "plugin": { "name": "Example site", "icon": "example.png", "qml": "qml_files" } }''') self.set_test_account(self.default_appname, "accounts", data) c = ClickReviewAccounts(self.test_name) c.check_manifest() r = c.click_report expected_counts = {'info': 3, 'warn': 0, 'error': 0} self.check_results(r, expected_counts)
def test_check_peer_hooks_provider_disallowed(self): '''Test check_peer_hooks() - disallowed (provider)''' c = ClickReviewAccounts(self.test_name) # create a new hooks database for our peer hooks tests tmp = dict() # add our hook tmp["account-provider"] = "foo.provider" # add any required peer hooks tmp["account-qml-plugin"] = "foo.qml_plugin" tmp["apparmor"] = "foo.apparmor" # add something not allowed tmp["nonexistent"] = "nonexistent-hook" c.manifest["hooks"][self.default_appname] = tmp self._update_test_manifest() # do the test c.check_peer_hooks(["account-provider"]) r = c.click_report expected_counts = {'info': None, 'warn': 0, 'error': 1} self.check_results(r, expected_counts)
def test_check_hooks_versions_deprecated_service(self): '''Test check_hooks_versions() - deprecated -service hook''' self.set_test_manifest("framework", "ubuntu-sdk-15.10") self.set_test_account(self.default_appname, "account-service", dict()) c = ClickReviewAccounts(self.test_name) c.check_hooks_versions() r = c.click_report expected_counts = {'info': 0, 'warn': 1, 'error': 0} self.check_results(r, expected_counts)
def test_check_hooks_versions_new(self): '''Test check_hooks_versions() - new hook''' self.set_test_manifest("framework", "ubuntu-sdk-15.04.1") self.set_test_account(self.default_appname, "accounts", dict()) c = ClickReviewAccounts(self.test_name) c.check_hooks_versions() r = c.click_report expected_counts = {'info': 0, 'warn': 0, 'error': 0} self.check_results(r, expected_counts)
def test_check_application_wrong_root(self): '''Test check_application() - wrong root''' xml = self._stub_application(root="wrongroot") self.set_test_account(self.default_appname, "account-application", xml) c = ClickReviewAccounts(self.test_name) c.check_application() r = c.click_report expected_counts = {'info': None, 'warn': 0, 'error': 1} self.check_results(r, expected_counts)
def test_check_manifest_missing_services(self): '''Test check_manifest() - missing services''' data = json.loads('''{ "translations": "my-app" }''') self.set_test_account(self.default_appname, "accounts", data) c = ClickReviewAccounts(self.test_name) c.check_manifest() r = c.click_report expected_counts = {'info': 0, 'warn': 0, 'error': 1} self.check_results(r, expected_counts)
def test_check_manifest_empty_service(self): '''Test check_manifest() - empty services''' data = json.loads('''{ "services": [{}] }''') self.set_test_account(self.default_appname, "accounts", data) c = ClickReviewAccounts(self.test_name) c.check_manifest() r = c.click_report expected_counts = {'info': 0, 'warn': 0, 'error': 1} self.check_results(r, expected_counts)
def test_check_qml_plugin(self): '''Test check_qml_plugin()''' self.set_test_account(self.default_appname, "account-qml-plugin", True) xml = self._stub_provider() self.set_test_account(self.default_appname, "account-provider", xml) c = ClickReviewAccounts(self.test_name) c.check_qml_plugin() r = c.click_report expected_counts = {'info': 1, 'warn': 0, 'error': 0} self.check_results(r, expected_counts)
def test_check_application_has_id(self): '''Test check_application() - has id''' xml = self._stub_application( id="%s_%s" % (self.test_manifest["name"], self.default_appname)) self.set_test_account(self.default_appname, "account-application", xml) c = ClickReviewAccounts(self.test_name) c.check_application() r = c.click_report expected_counts = {'info': None, 'warn': 1, 'error': 0} self.check_results(r, expected_counts)
def test_check_application(self): '''Test check_application()''' xml = self._stub_application() # print(etree.tostring(xml)) self.set_test_account(self.default_appname, "account-application", xml) c = ClickReviewAccounts(self.test_name) c.check_application() r = c.click_report expected_counts = {'info': 4, 'warn': 0, 'error': 0} self.check_results(r, expected_counts)
def test_check_provider_has_id(self): '''Test check_provider() - has id''' xml = self._stub_provider( id="%s_%s" % (self.test_manifest["name"], self.default_appname)) self.set_test_account(self.default_appname, "account-provider", xml) self.set_test_account(self.default_appname, "account-qml-plugin", True) c = ClickReviewAccounts(self.test_name) c.check_provider() r = c.click_report expected_counts = {'info': 2, 'warn': 1, 'error': 0} self.check_results(r, expected_counts)
def test_check_manifest_no_provider(self): '''Test check_manifest() - no provider''' data = json.loads('''{ "services": [{ "name": "Example", "description": "Hello world" }] }''') self.set_test_account(self.default_appname, "accounts", data) c = ClickReviewAccounts(self.test_name) c.check_manifest() r = c.click_report expected_counts = {'info': 0, 'warn': 0, 'error': 1} self.check_results(r, expected_counts)
def test_check_service_missing_provider(self): '''Test check_service() - missing provider''' xml = self._stub_service(do_subtree=False) service_name = etree.SubElement(xml, "name") service_name.text = "Foo" self.set_test_account(self.default_appname, "account-service", xml) xml = self._stub_application() self.set_test_account(self.default_appname, "account-application", xml) c = ClickReviewAccounts(self.test_name) c.check_service() r = c.click_report expected_counts = {'info': None, 'warn': 0, 'error': 1} self.check_results(r, expected_counts)
def test_check_application_missing_service(self): '''Test check_application() - missing service''' xml = self._stub_application(do_subtree=False) services = etree.SubElement(xml, "services") elem1 = etree.SubElement(services, "somesubtag", id="element1") desc1 = etree.SubElement(elem1, "description") desc1.text = "elem1 description" self.set_test_account(self.default_appname, "account-application", xml) c = ClickReviewAccounts(self.test_name) c.check_application() r = c.click_report expected_counts = {'info': None, 'warn': 0, 'error': 1} self.check_results(r, expected_counts)
def test_check_peer_hooks_provider_required(self): '''Test check_peer_hooks() - required (provider)''' c = ClickReviewAccounts(self.test_name) # create a new hooks database for our peer hooks tests tmp = dict() # add our hook tmp["account-provider"] = "foo.provider" # skip adding required hooks c.manifest["hooks"][self.default_appname] = tmp self._update_test_manifest() # do the test c.check_peer_hooks(["account-provider"]) r = c.click_report expected_counts = {'info': None, 'warn': 0, 'error': 1} self.check_results(r, expected_counts)
def test_check_peer_hooks_application(self): '''Test check_peer_hooks() - application''' c = ClickReviewAccounts(self.test_name) # create a new hooks database for our peer hooks tests tmp = dict() # add our hook tmp["account-application"] = "foo.application" # add any required peer hooks tmp["apparmor"] = "foo.apparmor" # update the manifest and test_manifest c.manifest["hooks"][self.default_appname] = tmp self._update_test_manifest() # do the test c.check_peer_hooks(["account-application"]) r = c.click_report # We should end up with 8 info expected_counts = {'info': 2, 'warn': 0, 'error': 0} self.check_results(r, expected_counts)