This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git
The following commit(s) were added to refs/heads/master by this push:
new 785e832e8d chore(actions): generate FOSSA report on master, and ALWAYS
check for… (#26857)
785e832e8d is described below
commit 785e832e8df96015c6d8e706142d93393df2950f
Author: Evan Rusackas <[email protected]>
AuthorDate: Mon Jan 29 16:18:50 2024 -0700
chore(actions): generate FOSSA report on master, and ALWAYS check for…
(#26857)
---
...license-check.yml => generate-FOSSA-report.yml} | 10 ++---
.github/workflows/license-check.yml | 47 +---------------------
.rat-excludes | 8 +++-
RELEASING/verify_release.py | 18 +++++++++
RESOURCES/STANDARD_ROLES.md | 19 +++++++++
docker/docker-entrypoint-initdb.d/examples-init.sh | 19 +++++++++
dockerize.Dockerfile | 17 ++++++++
docs/static/img/calendar-icon.svg | 18 +++++++++
docs/static/img/check-icon.svg | 18 +++++++++
docs/static/img/databases/apache-pinot.svg | 18 +++++++++
docs/static/img/databases/csv.svg | 18 +++++++++
scripts/tag_latest_release.sh | 28 ++++++-------
.../packages/superset-ui-core/src/utils/html.tsx | 18 +++++++++
.../src/validator/validateMaxValue.ts | 18 +++++++++
.../scripts/eslint-metrics-uploader.js | 18 +++++++++
.../src/components/AuditInfo/ModifiedInfo.test.tsx | 18 +++++++++
.../src/components/AuditInfo/index.tsx | 18 +++++++++
.../src/components/Tags/utils.test.tsx | 18 +++++++++
.../DownloadMenuItems/DownloadAsImage.test.tsx | 18 +++++++++
.../menu/DownloadMenuItems/DownloadAsImage.tsx | 18 +++++++++
.../menu/DownloadMenuItems/DownloadAsPdf.test.tsx | 18 +++++++++
.../menu/DownloadMenuItems/DownloadAsPdf.tsx | 18 +++++++++
.../DownloadMenuItems/DownloadMenuItems.test.tsx | 18 +++++++++
.../components/controls/ContourControl/types.ts | 18 +++++++++
.../components/controls/CurrencyControl/index.ts | 18 +++++++++
superset-frontend/src/types/dom-to-pdf.d.ts | 18 +++++++++
superset/db_engine_specs/README.md | 19 +++++++++
superset/db_engine_specs/databend.py | 10 +++++
superset/migrations/shared/constraints.py | 16 ++++++++
superset/migrations/shared/native_filters.py | 16 ++++++++
tests/unit_tests/forms_tests.py | 16 ++++++++
tests/unit_tests/scripts/docker_build_push_test.py | 16 ++++++++
.../unit_tests/scripts/tag_latest_release_test.py | 16 ++++++++
tests/unit_tests/tags/__init__.py | 16 ++++++++
tests/unit_tests/tags/commands/create_test.py | 16 ++++++++
tests/unit_tests/tags/commands/update_test.py | 16 ++++++++
tests/unit_tests/tasks/test_async_queries.py | 16 ++++++++
37 files changed, 594 insertions(+), 69 deletions(-)
diff --git a/.github/workflows/license-check.yml
b/.github/workflows/generate-FOSSA-report.yml
similarity index 88%
copy from .github/workflows/license-check.yml
copy to .github/workflows/generate-FOSSA-report.yml
index e9b75a1009..3e7b33c1a0 100644
--- a/.github/workflows/license-check.yml
+++ b/.github/workflows/generate-FOSSA-report.yml
@@ -1,11 +1,9 @@
-name: License Check
+name: Generate FOSSA report
on:
push:
branches:
- - 'master'
- pull_request:
- types: [synchronize, opened, reopened, ready_for_review]
+ - "master"
jobs:
config:
@@ -24,7 +22,7 @@ jobs:
license_check:
needs: config
if: needs.config.outputs.has-secrets
- name: License Check
+ name: Generate Report
runs-on: ubuntu-20.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
@@ -63,5 +61,3 @@ jobs:
echo "No dependency changes... skiping fossa check"
fi
shell: bash
- - name: Run license check
- run: ./scripts/check_license.sh
diff --git a/.github/workflows/license-check.yml
b/.github/workflows/license-check.yml
index e9b75a1009..3f64e93556 100644
--- a/.github/workflows/license-check.yml
+++ b/.github/workflows/license-check.yml
@@ -1,29 +1,11 @@
-name: License Check
+name: License Template Check
on:
- push:
- branches:
- - 'master'
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
jobs:
- config:
- runs-on: "ubuntu-latest"
- outputs:
- has-secrets: ${{ steps.check.outputs.has-secrets }}
- steps:
- - name: "Check for secrets"
- id: check
- shell: bash
- run: |
- if [ -n "${{ (secrets.FOSSA_API_KEY != '' ) || '' }}" ]; then
- echo "has-secrets=1" >> "$GITHUB_OUTPUT"
- fi
-
license_check:
- needs: config
- if: needs.config.outputs.has-secrets
name: License Check
runs-on: ubuntu-20.04
steps:
@@ -36,32 +18,5 @@ jobs:
uses: actions/setup-java@v1
with:
java-version: 8
- - name: Generate fossa report
- env:
- FOSSA_API_KEY: ${{ secrets.FOSSA_API_KEY }}
- run: |
- set -eo pipefail
- if [[ "${{github.event_name}}" != "pull_request" ]]; then
- ./scripts/fossa.sh
- exit 0
- fi
-
- URL="https://api.github.com/repos/${{ github.repository }}/pulls/${{
github.event.pull_request.number }}/files"
- FILES=$(curl -s -X GET -G $URL | jq -r '.[] | .filename')
-
- cat<<EOF
- CHANGED FILES:
- $FILES
-
- EOF
-
- if [[ "${FILES}" =~
(.*package*\.json|requirements\/[a-z_-]+\.txt|setup\.py) ]]; then
- echo "Detected dependency changes... running fossa check"
-
- ./scripts/fossa.sh
- else
- echo "No dependency changes... skiping fossa check"
- fi
- shell: bash
- name: Run license check
run: ./scripts/check_license.sh
diff --git a/.rat-excludes b/.rat-excludes
index f50d6a3862..e7f7b47a51 100644
--- a/.rat-excludes
+++ b/.rat-excludes
@@ -1,6 +1,5 @@
# Note: these patterns are applied to single files or directories, not full
paths
.gitignore
-docs/README.md
.gitattributes
.gitkeep
.coverage
@@ -36,7 +35,6 @@ apache_superset.egg-info
# Generated doc files
env/*
docs/.htaccess*
-docs-v2/.htaccess*
.nojekyll
_build/*
_static/*
@@ -62,3 +60,9 @@ tsconfig.tsbuildinfo
.prettierignore
generator-superset/*
temporary_superset_ui/*
+
+# docs overrides for third party logos we don't have the rights to
+google-big-query.svg
+google-sheets.svg
+postgresql.svg
+snowflake.svg
diff --git a/RELEASING/verify_release.py b/RELEASING/verify_release.py
index 067154e190..546bb308d4 100755
--- a/RELEASING/verify_release.py
+++ b/RELEASING/verify_release.py
@@ -1,3 +1,21 @@
+#!/usr/bin/python3
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
import re
import subprocess
import sys
diff --git a/RESOURCES/STANDARD_ROLES.md b/RESOURCES/STANDARD_ROLES.md
index 634aab5e0a..2cacd5ce73 100644
--- a/RESOURCES/STANDARD_ROLES.md
+++ b/RESOURCES/STANDARD_ROLES.md
@@ -1,3 +1,22 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
||Admin|Alpha|Gamma|SQL_LAB|
|---|---|---|---|---|
|Permission/role description|Admins have all possible rights, including
granting or revoking rights from other users and altering other people’s slices
and dashboards.|Alpha users have access to all data sources, but they cannot
grant or revoke access from other users. They are also limited to altering the
objects that they own. Alpha users can add and alter data sources.|Gamma users
have limited access. They can only consume data coming from data sources they
have been given access to t [...]
diff --git a/docker/docker-entrypoint-initdb.d/examples-init.sh
b/docker/docker-entrypoint-initdb.d/examples-init.sh
index 0eaedf2b7e..bed1543253 100755
--- a/docker/docker-entrypoint-initdb.d/examples-init.sh
+++ b/docker/docker-entrypoint-initdb.d/examples-init.sh
@@ -1,3 +1,22 @@
+#!/usr/bin/env bash
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
# ------------------------------------------------------------------------
# Creates the examples database and respective user. This database location
# and access credentials are defined on the environment variables
diff --git a/dockerize.Dockerfile b/dockerize.Dockerfile
index 923295c457..1a23f36d11 100644
--- a/dockerize.Dockerfile
+++ b/dockerize.Dockerfile
@@ -1,3 +1,20 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
FROM alpine:latest
ARG DOCKERIZE_VERSION=v0.7.0
diff --git a/docs/static/img/calendar-icon.svg
b/docs/static/img/calendar-icon.svg
index 0116e4690f..52f773924c 100644
--- a/docs/static/img/calendar-icon.svg
+++ b/docs/static/img/calendar-icon.svg
@@ -1 +1,19 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
<svg xmlns="http://www.w3.org/2000/svg" width="1792" height="1792"
id="calendar"><path fill="#20a7c9" d="m1303 964-512 512q-10 9-23
9t-23-9l-288-288q-9-10-9-23t9-22l46-46q9-9 22-9t23 9l220 220 444-444q10-9
23-9t22 9l46 46q9 9 9 22t-9 23zM128 1664h1408V640H128v1024zM512
448V160q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v288q0 14 9 23t23 9h64q14 0
23-9t9-23zm768 0V160q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v288q0 14 9 23t23
9h64q14 0 23-9t9-23zm384-64v1280q0 52-38 90t-90 38H128q-52 0-90-38t-38-90V3
[...]
diff --git a/docs/static/img/check-icon.svg b/docs/static/img/check-icon.svg
index 858b2d3f3a..af003c4221 100644
--- a/docs/static/img/check-icon.svg
+++ b/docs/static/img/check-icon.svg
@@ -1,3 +1,21 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
<svg width="20" height="20" viewBox="0 0 20 20" fill="none"
xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 0C4.4775 0 0 4.4775 0
10C0 15.5225 4.4775 20 10 20C15.5225 20 20 15.5225 20 10C20 4.4775 15.5225 0 10
0ZM14.65 8.29125L9.5775 13.3625C9.11 13.83 8.35375 13.83 7.88625 13.3625L5.35
10.8275C4.8825 10.3612 4.8825 9.60375 5.35 9.13625C5.8175 8.66875 6.57375
8.66875 7.04125 9.13625L8.7325 10.8275L12.96 6.6C13.4275 6.1325 14.1837 6.1325
14.6512 6.6C15.1187 7.0675 15.1175 7.82375 14.65 8.29125Z" fill="#20A7C9"/>
</svg>
diff --git a/docs/static/img/databases/apache-pinot.svg
b/docs/static/img/databases/apache-pinot.svg
index 0d69dd4d2f..d88742516b 100644
--- a/docs/static/img/databases/apache-pinot.svg
+++ b/docs/static/img/databases/apache-pinot.svg
@@ -1,3 +1,21 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg"
width="512" height="270" viewBox="0 0 512 270">
<g id="Page-1">
diff --git a/docs/static/img/databases/csv.svg
b/docs/static/img/databases/csv.svg
index 792b90deee..88d66ead56 100644
--- a/docs/static/img/databases/csv.svg
+++ b/docs/static/img/databases/csv.svg
@@ -1,3 +1,21 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg"
width="512" height="270" viewBox="0 0 512 270">
<path
d="M324.72,93.76h-38.76V55c0-1.65-1.34-2.98-2.98-2.98h-83.49c-1.65,0-2.98,1.34-2.98,2.98v83.49c0,1.65,1.34,2.98,2.98,2.98h80.51v47.71h-80.51c-1.65,0-2.98,1.34-2.98,2.98v23.85c0,1.65,1.34,2.98,2.98,2.98h125.24c1.65,0,2.98-1.34,2.98-2.98V96.74c0-1.65-1.34-2.98-2.98-2.98Z"
style="fill: #eee;"/>
diff --git a/scripts/tag_latest_release.sh b/scripts/tag_latest_release.sh
index f2ee846a63..58f192039b 100755
--- a/scripts/tag_latest_release.sh
+++ b/scripts/tag_latest_release.sh
@@ -1,20 +1,20 @@
#! /bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
+# http://www.apache.org/licenses/LICENSE-2.0
#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
run_git_tag () {
if [[ "$DRY_RUN" == "false" ]] && [[ "$SKIP_TAG" == "false" ]]
diff --git a/superset-frontend/packages/superset-ui-core/src/utils/html.tsx
b/superset-frontend/packages/superset-ui-core/src/utils/html.tsx
index fffd43bda8..95695ed587 100644
--- a/superset-frontend/packages/superset-ui-core/src/utils/html.tsx
+++ b/superset-frontend/packages/superset-ui-core/src/utils/html.tsx
@@ -1,3 +1,21 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
import React from 'react';
import { FilterXSS, getDefaultWhiteList } from 'xss';
diff --git
a/superset-frontend/packages/superset-ui-core/src/validator/validateMaxValue.ts
b/superset-frontend/packages/superset-ui-core/src/validator/validateMaxValue.ts
index 24c1da1c79..9d22851b9b 100644
---
a/superset-frontend/packages/superset-ui-core/src/validator/validateMaxValue.ts
+++
b/superset-frontend/packages/superset-ui-core/src/validator/validateMaxValue.ts
@@ -1,3 +1,21 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
import { t } from '../translation';
export default function validateMaxValue(v: unknown, max: Number) {
diff --git a/superset-frontend/scripts/eslint-metrics-uploader.js
b/superset-frontend/scripts/eslint-metrics-uploader.js
index db10bed18b..6c6d4a9de9 100644
--- a/superset-frontend/scripts/eslint-metrics-uploader.js
+++ b/superset-frontend/scripts/eslint-metrics-uploader.js
@@ -1,3 +1,21 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
const { google } = require('googleapis');
const { SPREADSHEET_ID } = process.env;
diff --git a/superset-frontend/src/components/AuditInfo/ModifiedInfo.test.tsx
b/superset-frontend/src/components/AuditInfo/ModifiedInfo.test.tsx
index af9d6913d8..03ee325456 100644
--- a/superset-frontend/src/components/AuditInfo/ModifiedInfo.test.tsx
+++ b/superset-frontend/src/components/AuditInfo/ModifiedInfo.test.tsx
@@ -1,3 +1,21 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
import React from 'react';
import { render, screen, waitFor } from 'spec/helpers/testing-library';
import '@testing-library/jest-dom';
diff --git a/superset-frontend/src/components/AuditInfo/index.tsx
b/superset-frontend/src/components/AuditInfo/index.tsx
index 24223a1554..56e4168234 100644
--- a/superset-frontend/src/components/AuditInfo/index.tsx
+++ b/superset-frontend/src/components/AuditInfo/index.tsx
@@ -1,3 +1,21 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
import React from 'react';
import Owner from 'src/types/Owner';
diff --git a/superset-frontend/src/components/Tags/utils.test.tsx
b/superset-frontend/src/components/Tags/utils.test.tsx
index 72a1df8220..b6d28d60c1 100644
--- a/superset-frontend/src/components/Tags/utils.test.tsx
+++ b/superset-frontend/src/components/Tags/utils.test.tsx
@@ -1,3 +1,21 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
import { tagToSelectOption } from 'src/components/Tags/utils';
describe('tagToSelectOption', () => {
diff --git
a/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsImage.test.tsx
b/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsImage.test.tsx
index 7881e2a76b..e908999a9a 100644
---
a/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsImage.test.tsx
+++
b/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsImage.test.tsx
@@ -1,3 +1,21 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
import React, { SyntheticEvent } from 'react';
import { render, screen, waitFor } from 'spec/helpers/testing-library';
import userEvent from '@testing-library/user-event';
diff --git
a/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsImage.tsx
b/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsImage.tsx
index 4d7d466348..0ef7a9bfe4 100644
---
a/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsImage.tsx
+++
b/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsImage.tsx
@@ -1,3 +1,21 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
import React, { SyntheticEvent } from 'react';
import { logging, t } from '@superset-ui/core';
import { Menu } from 'src/components/Menu';
diff --git
a/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsPdf.test.tsx
b/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsPdf.test.tsx
index 371026e7aa..c685d929d8 100644
---
a/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsPdf.test.tsx
+++
b/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsPdf.test.tsx
@@ -1,3 +1,21 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
import React, { SyntheticEvent } from 'react';
import { render, screen, waitFor } from 'spec/helpers/testing-library';
import userEvent from '@testing-library/user-event';
diff --git
a/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsPdf.tsx
b/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsPdf.tsx
index eb3616b731..3d967a41fd 100644
---
a/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsPdf.tsx
+++
b/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsPdf.tsx
@@ -1,3 +1,21 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
import React, { SyntheticEvent } from 'react';
import { logging, t } from '@superset-ui/core';
import { Menu } from 'src/components/Menu';
diff --git
a/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadMenuItems.test.tsx
b/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadMenuItems.test.tsx
index e93d7bd3ed..a9fa46f31e 100644
---
a/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadMenuItems.test.tsx
+++
b/superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadMenuItems.test.tsx
@@ -1,3 +1,21 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
import React from 'react';
import { render, screen } from 'spec/helpers/testing-library';
import DownloadMenuItems from '.';
diff --git
a/superset-frontend/src/explore/components/controls/ContourControl/types.ts
b/superset-frontend/src/explore/components/controls/ContourControl/types.ts
index aab03df380..315e7cec57 100644
--- a/superset-frontend/src/explore/components/controls/ContourControl/types.ts
+++ b/superset-frontend/src/explore/components/controls/ContourControl/types.ts
@@ -1,3 +1,21 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
import { OptionValueType } from
'src/explore/components/controls/DndColumnSelectControl/types';
import { ControlComponentProps } from 'src/explore/components/Control';
diff --git
a/superset-frontend/src/explore/components/controls/CurrencyControl/index.ts
b/superset-frontend/src/explore/components/controls/CurrencyControl/index.ts
index d99ab57767..06179283c8 100644
--- a/superset-frontend/src/explore/components/controls/CurrencyControl/index.ts
+++ b/superset-frontend/src/explore/components/controls/CurrencyControl/index.ts
@@ -1,3 +1,21 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
import { CurrencyControl } from './CurrencyControl';
export { CurrencyControl as default };
diff --git a/superset-frontend/src/types/dom-to-pdf.d.ts
b/superset-frontend/src/types/dom-to-pdf.d.ts
index 19ecce85b4..28c06163fd 100644
--- a/superset-frontend/src/types/dom-to-pdf.d.ts
+++ b/superset-frontend/src/types/dom-to-pdf.d.ts
@@ -1,3 +1,21 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
declare module 'dom-to-pdf' {
interface Image {
type: string;
diff --git a/superset/db_engine_specs/README.md
b/superset/db_engine_specs/README.md
index b8c02dc84c..ee4c4ce9e5 100644
--- a/superset/db_engine_specs/README.md
+++ b/superset/db_engine_specs/README.md
@@ -1,3 +1,22 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
# Database engine specifications
Superset uses [SQLAlchemy](https://www.sqlalchemy.org/) as an abstraction
layer for running queries and fetching metadata from tables (like column names
and types). Unfortunately, while SQLAlchemy offers enough functionality to
allow connecting Superset to dozens of databases, there are still
implementation details that differ across them. Because of this, Superset has
an additional abstraction on top of SQLAlchemy, called a "database engine
specification" or, simply, "DB engine spec".
diff --git a/superset/db_engine_specs/databend.py
b/superset/db_engine_specs/databend.py
index ff28ee08a3..9789512450 100644
--- a/superset/db_engine_specs/databend.py
+++ b/superset/db_engine_specs/databend.py
@@ -1,3 +1,13 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
diff --git a/superset/migrations/shared/constraints.py
b/superset/migrations/shared/constraints.py
index df08f841e5..d3bc140fd0 100644
--- a/superset/migrations/shared/constraints.py
+++ b/superset/migrations/shared/constraints.py
@@ -1,3 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
from __future__ import annotations
from dataclasses import dataclass
diff --git a/superset/migrations/shared/native_filters.py
b/superset/migrations/shared/native_filters.py
index c30c7d3789..05b9f4033f 100644
--- a/superset/migrations/shared/native_filters.py
+++ b/superset/migrations/shared/native_filters.py
@@ -1,3 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
import json
from collections import defaultdict
from textwrap import dedent
diff --git a/tests/unit_tests/forms_tests.py b/tests/unit_tests/forms_tests.py
index 0ede23551f..4ca628805f 100644
--- a/tests/unit_tests/forms_tests.py
+++ b/tests/unit_tests/forms_tests.py
@@ -1,3 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
import contextlib
import tempfile
from typing import Optional
diff --git a/tests/unit_tests/scripts/docker_build_push_test.py
b/tests/unit_tests/scripts/docker_build_push_test.py
index edfd339bbc..17653844aa 100644
--- a/tests/unit_tests/scripts/docker_build_push_test.py
+++ b/tests/unit_tests/scripts/docker_build_push_test.py
@@ -1,3 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
import re
import subprocess
from unittest import mock
diff --git a/tests/unit_tests/scripts/tag_latest_release_test.py
b/tests/unit_tests/scripts/tag_latest_release_test.py
index 7b15a1670a..6dbb0eee4e 100644
--- a/tests/unit_tests/scripts/tag_latest_release_test.py
+++ b/tests/unit_tests/scripts/tag_latest_release_test.py
@@ -1,3 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
import subprocess
from unittest import mock
from unittest.mock import patch
diff --git a/tests/unit_tests/tags/__init__.py
b/tests/unit_tests/tags/__init__.py
index e69de29bb2..13a83393a9 100644
--- a/tests/unit_tests/tags/__init__.py
+++ b/tests/unit_tests/tags/__init__.py
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
diff --git a/tests/unit_tests/tags/commands/create_test.py
b/tests/unit_tests/tags/commands/create_test.py
index ca31e44566..b18144521a 100644
--- a/tests/unit_tests/tags/commands/create_test.py
+++ b/tests/unit_tests/tags/commands/create_test.py
@@ -1,3 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
import pytest
from pytest_mock import MockFixture
from sqlalchemy.orm.session import Session
diff --git a/tests/unit_tests/tags/commands/update_test.py
b/tests/unit_tests/tags/commands/update_test.py
index 47ef16e4e7..e488321228 100644
--- a/tests/unit_tests/tags/commands/update_test.py
+++ b/tests/unit_tests/tags/commands/update_test.py
@@ -1,3 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
import pytest
from pytest_mock import MockFixture
from sqlalchemy.orm.session import Session
diff --git a/tests/unit_tests/tasks/test_async_queries.py
b/tests/unit_tests/tasks/test_async_queries.py
index 1e14d742da..fa8c2efbf2 100644
--- a/tests/unit_tests/tasks/test_async_queries.py
+++ b/tests/unit_tests/tasks/test_async_queries.py
@@ -1,3 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
from unittest import mock
import pytest