def test_hash_equal_for_identical_entities(self): """Ensure that two equivalent entities have the same hash value.""" entity_1 = HashTest.DummyEntity.query( HashTest.DummyEntity.integer_property == 1).get() hash_1 = utils.entity_hash(entity_1) entity_2 = HashTest.DummyEntity.query( HashTest.DummyEntity.integer_property == 1).get() hash_2 = utils.entity_hash(entity_2) self.assertEqual(hash_1, hash_2)
def test_hash_different_for_different_entities(self): """Ensure that two different entities have different hash values.""" entity_1 = HashTest.DummyEntity.query( HashTest.DummyEntity.integer_property == 1).get() hash_1 = utils.entity_hash(entity_1) entity_2 = HashTest.DummyEntity.query( HashTest.DummyEntity.integer_property == 2).get() hash_2 = utils.entity_hash(entity_2) self.assertNotEqual(hash_1, hash_2)
def post(self): """Handle a post request.""" config = db_config.get() if not config: config = data_types.Config() previous_hash = self.request.get('previous_hash') if config.previous_hash and config.previous_hash != previous_hash: raise helpers.EarlyExitException( 'Your change conflicts with another configuration update. ' 'Please refresh and try again.', 500) build_apiary_service_account_private_key = self.request.get( 'build_apiary_service_account_private_key') bug_report_url = self.request.get('bug_report_url') client_credentials = self.request.get('client_credentials') jira_url = self.request.get('jira_url') jira_credentials = self.request.get('jira_credentials') component_repository_mappings = self.request.get( 'component_repository_mappings') contact_string = self.request.get('contact_string') documentation_url = self.request.get('documentation_url') github_credentials = self.request.get('github_credentials') platform_group_mappings = self.request.get('platform_group_mappings') privileged_users = self.request.get('privileged_users') blacklisted_users = self.request.get('blacklisted_users') relax_security_bug_restrictions = self.request.get( 'relax_security_bug_restrictions') relax_testcase_restrictions = self.request.get( 'relax_testcase_restrictions') reproduce_tool_client_id = self.request.get('reproduce_tool_client_id') reproduce_tool_client_secret = self.request.get( 'reproduce_tool_client_secret') reproduction_help_url = self.request.get('reproduction_help_url') test_account_email = self.request.get('test_account_email') test_account_password = self.request.get('test_account_password') wifi_ssid = self.request.get('wifi_ssid') wifi_password = self.request.get('wifi_password') sendgrid_api_key = self.request.get('sendgrid_api_key') sendgrid_sender = self.request.get('sendgrid_sender') config.build_apiary_service_account_private_key = ( build_apiary_service_account_private_key) config.bug_report_url = bug_report_url config.client_credentials = client_credentials config.component_repository_mappings = component_repository_mappings config.contact_string = contact_string config.documentation_url = documentation_url config.github_credentials = github_credentials config.jira_credentials = jira_credentials config.jira_url = jira_url config.platform_group_mappings = platform_group_mappings config.privileged_users = privileged_users config.blacklisted_users = blacklisted_users config.relax_security_bug_restrictions = bool( relax_security_bug_restrictions) config.relax_testcase_restrictions = bool(relax_testcase_restrictions) config.reproduce_tool_client_id = reproduce_tool_client_id config.reproduce_tool_client_secret = reproduce_tool_client_secret config.reproduction_help_url = reproduction_help_url config.test_account_email = test_account_email config.test_account_password = test_account_password config.wifi_ssid = wifi_ssid config.wifi_password = wifi_password config.sendgrid_api_key = sendgrid_api_key config.sendgrid_sender = sendgrid_sender helpers.log('Configuration', helpers.MODIFY_OPERATION) # Before hashing the entity, we must put it so that the internal maps are # updated. config.put() config.previous_hash = utils.entity_hash(config) config.put() template_values = { 'title': 'Success', 'message': ('Configuration is successfully updated. ' 'Redirecting to the configuration page...'), 'redirect_url': '/configuration', } self.render('message.html', template_values)
def post(self): """Handle a post request.""" config = db_config.get() if not config: config = data_types.Config() previous_hash = self.request.get("previous_hash") if config.previous_hash and config.previous_hash != previous_hash: raise helpers.EarlyExitException( "Your change conflicts with another configuration update. " "Please refresh and try again.", 500, ) build_apiary_service_account_email = self.request.get( "build_apiary_service_account_email") build_apiary_service_account_private_key = self.request.get( "build_apiary_service_account_private_key") bug_report_url = self.request.get("bug_report_url") client_credentials = self.request.get("client_credentials") component_repository_mappings = self.request.get( "component_repository_mappings") contact_string = self.request.get("contact_string") documentation_url = self.request.get("documentation_url") github_credentials = self.request.get("github_credentials") platform_group_mappings = self.request.get("platform_group_mappings") privileged_users = self.request.get("privileged_users") relax_security_bug_restrictions = self.request.get( "relax_security_bug_restrictions") relax_testcase_restrictions = self.request.get( "relax_testcase_restrictions") reproduce_tool_client_id = self.request.get("reproduce_tool_client_id") reproduce_tool_client_secret = self.request.get( "reproduce_tool_client_secret") reproduction_help_url = self.request.get("reproduction_help_url") test_account_email = self.request.get("test_account_email") test_account_password = self.request.get("test_account_password") wifi_ssid = self.request.get("wifi_ssid") wifi_password = self.request.get("wifi_password") sendgrid_api_key = self.request.get("sendgrid_api_key") sendgrid_sender = self.request.get("sendgrid_sender") config.build_apiary_service_account_email = build_apiary_service_account_email config.build_apiary_service_account_private_key = ( build_apiary_service_account_private_key) config.bug_report_url = bug_report_url config.client_credentials = client_credentials config.component_repository_mappings = component_repository_mappings config.contact_string = contact_string config.documentation_url = documentation_url config.github_credentials = github_credentials config.platform_group_mappings = platform_group_mappings config.privileged_users = privileged_users config.relax_security_bug_restrictions = bool( relax_security_bug_restrictions) config.relax_testcase_restrictions = bool(relax_testcase_restrictions) config.reproduce_tool_client_id = reproduce_tool_client_id config.reproduce_tool_client_secret = reproduce_tool_client_secret config.reproduction_help_url = reproduction_help_url config.test_account_email = test_account_email config.test_account_password = test_account_password config.wifi_ssid = wifi_ssid config.wifi_password = wifi_password config.sendgrid_api_key = sendgrid_api_key config.sendgrid_sender = sendgrid_sender helpers.log("Configuration", helpers.MODIFY_OPERATION) # Before hashing the entity, we must put it so that the internal maps are # updated. config.put() config.previous_hash = utils.entity_hash(config) config.put() template_values = { "title": "Success", "message": ("Configuration is successfully updated. " "Redirecting to the configuration page..."), "redirect_url": "/configuration", } self.render("message.html", template_values)