While a lambda is still processing (archive unpacking etc), the lambda state should be set to "Pending" (currently "Active") and invocations to that lambda should fail (currently, it can end up in a inconsistent state in this case, like lambdas being executed without layers).

Lambda state should reflect the current internal state, and invocations should fail if not active.
self.assertEqual(self.ALIASNOTFOUND_EXCEPTION, result["__type"])
            self.assertEqual(self.ALIASNOTFOUND_MESSAGE % alias_arn, result["message"])
    def test_list_aliases(self):
        self._create_function(self.FUNCTION_NAME)
        self.client.post("{0}/functions/{1}/versions".format(API_PATH_ROOT, self.FUNCTION_NAME))
        self.client.post(
            "{0}/functions/{1}/aliases".format(API_PATH_ROOT, self.FUNCTION_NAME),
            data=json.dumps({"Name": self.ALIAS2_NAME, "FunctionVersion": "$LATEST"}),
        )
        self.client.post(
            "{0}/functions/{1}/aliases".format(API_PATH_ROOT, self.FUNCTION_NAME),
            data=json.dumps(
                {
                    "Name": self.ALIAS_NAME,
                    "FunctionVersion": "1",
                    "Description": self.ALIAS_NAME,
                }
            ),
        )
        response = self.client.get(
            "{0}/functions/{1}/aliases".format(API_PATH_ROOT, self.FUNCTION_NAME)
        )
        result = json.loads(response.get_data())
        for alias in result["Aliases"]:
            alias.pop(
                "RevisionId", None
            )  
        expected_result = {
            "Aliases": [
                {