Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #3
0
  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)