From a877de484b9deee6746d46713636a850359a3d31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Perell=C3=B3=20Garc=C3=ADa?= Date: Mon, 2 May 2022 11:49:52 +0200 Subject: [PATCH 01/15] Initial commit to update Revolut changes into Amundsen single repository version --- docker-amundsen-local.yml | 2 +- example/docker/neo4j/conf/neo4j.conf | 46 ++++++----- .../api/utils/metadata_utils.py | 3 +- frontend/amundsen_application/config.py | 20 ++++- .../static/.storybook/amundsenTheme.js | 16 ++-- .../static/css/_colors.scss | 31 ++++++++ .../static/css/_icons-custom.scss | 4 + .../static/css/_variables-custom.scss | 72 ++++++++++++++++++ .../static/css/_variables-default.scss | 30 ++++---- .../static/images/revolut-512.png | Bin 0 -> 11382 bytes .../SearchBar/InlineSearchResults/styles.scss | 2 +- .../static/js/config/config-custom.ts | 61 ++++++++++++++- .../static/js/config/config-default.ts | 20 ++++- .../static/js/features/NavBar/index.tsx | 2 +- .../static/js/features/NavBar/styles.scss | 1 + .../static/js/interfaces/Enums.ts | 2 + .../static/js/pages/ProfilePage/constants.ts | 4 +- .../TableDetailPage/ExploreButton/index.tsx | 2 +- .../js/pages/TableDetailPage/constants.ts | 4 +- .../js/pages/TableDetailPage/styles.scss | 2 +- .../static/js/stories/colors.story.tsx | 18 ++--- 21 files changed, 273 insertions(+), 69 deletions(-) mode change 100644 => 100755 example/docker/neo4j/conf/neo4j.conf create mode 100644 frontend/amundsen_application/static/images/revolut-512.png diff --git a/docker-amundsen-local.yml b/docker-amundsen-local.yml index 0dfc1f67ce..e6fdc34eaa 100644 --- a/docker-amundsen-local.yml +++ b/docker-amundsen-local.yml @@ -69,7 +69,7 @@ services: - amundsenmetadata - amundsensearch ports: - - 5000:5000 + - 8000:5000 networks: - amundsennet environment: diff --git a/example/docker/neo4j/conf/neo4j.conf b/example/docker/neo4j/conf/neo4j.conf old mode 100644 new mode 100755 index 4aeb417932..579b3f1620 --- a/example/docker/neo4j/conf/neo4j.conf +++ b/example/docker/neo4j/conf/neo4j.conf @@ -10,7 +10,6 @@ dbms.active_database=amundsen.db # Paths of directories in the installation. dbms.directories.data=/data -dbms.directories.logs=/logs #dbms.directories.plugins=/var/lib/neo4j/plugins #dbms.directories.certificates=/var/lib/neo4j/certificates #dbms.directories.lib=/usr/share/neo4j/lib @@ -226,7 +225,6 @@ dbms.connector.https.enabled=true #dbms.security.allow_csv_import_from_file_urls=true # Retention policy for transaction logs needed to perform recovery and backups. -dbms.tx_log.rotation.retention_policy=1 days # Only allow read operations from this Neo4j instance. This mode still requires # write access to the directory for lock purposes. @@ -246,11 +244,11 @@ dbms.tx_log.rotation.retention_policy=1 days # G1GC generally strikes a good balance between throughput and tail # latency, without too much tuning. -dbms.jvm.additional=-XX:+UseG1GC +dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-XX:+UseG1GC # Have common exceptions keep producing stack traces, so they can be # debugged regardless of how often logs are rotated. -dbms.jvm.additional=-XX:-OmitStackTraceInFastThrow +dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-XX:-OmitStackTraceInFastThrow # Make sure that `initmemory` is not only allocated, but committed to # the process, before starting the database. This reduces memory @@ -259,17 +257,17 @@ dbms.jvm.additional=-XX:-OmitStackTraceInFastThrow # due to heap-growing GC events, where a decrease in available page # cache leads to an increase in mean IO response time. # Try reducing the heap memory, if this flag degrades performance. -dbms.jvm.additional=-XX:+AlwaysPreTouch +dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-XX:+AlwaysPreTouch # Trust that non-static final fields are really final. # This allows more optimizations and improves overall performance. # NOTE: Disable this if you use embedded mode, or have extensions or dependencies that may use reflection or # serialization to change the value of final fields! -dbms.jvm.additional=-XX:+UnlockExperimentalVMOptions -dbms.jvm.additional=-XX:+TrustFinalNonStaticFields +dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-XX:+UnlockExperimentalVMOptions +dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-XX:+TrustFinalNonStaticFields # Disable explicit garbage collection, which is occasionally invoked by the JDK itself. -dbms.jvm.additional=-XX:+DisableExplicitGC +dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-XX:+DisableExplicitGC # Remote JMX monitoring, uncomment and adjust the following lines as needed. Absolute paths to jmx.access and # jmx.password files are required. @@ -280,21 +278,21 @@ dbms.jvm.additional=-XX:+DisableExplicitGC # and have permissions set to 0600. # For details on setting these file permissions on Windows see: # http://docs.oracle.com/javase/8/docs/technotes/guides/management/security-windows.html -#dbms.jvm.additional=-Dcom.sun.management.jmxremote.port=3637 -#dbms.jvm.additional=-Dcom.sun.management.jmxremote.authenticate=true -#dbms.jvm.additional=-Dcom.sun.management.jmxremote.ssl=false -#dbms.jvm.additional=-Dcom.sun.management.jmxremote.password.file=/absolute/path/to/conf/jmx.password -#dbms.jvm.additional=-Dcom.sun.management.jmxremote.access.file=/absolute/path/to/conf/jmx.access +#dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-Dcom.sun.management.jmxremote.port=3637 +#dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-Dcom.sun.management.jmxremote.authenticate=true +#dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-Dcom.sun.management.jmxremote.ssl=false +#dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-Dcom.sun.management.jmxremote.password.file=/absolute/path/to/conf/jmx.password +#dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-Dcom.sun.management.jmxremote.access.file=/absolute/path/to/conf/jmx.access # Some systems cannot discover host name automatically, and need this line configured: -#dbms.jvm.additional=-Djava.rmi.server.hostname=$THE_NEO4J_SERVER_HOSTNAME +#dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-Djava.rmi.server.hostname=$THE_NEO4J_SERVER_HOSTNAME # Expand Diffie Hellman (DH) key size from default 1024 to 2048 for DH-RSA cipher suites used in server TLS handshakes. # This is to protect the server from any potential passive eavesdropping. -dbms.jvm.additional=-Djdk.tls.ephemeralDHKeySize=2048 +dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-Djdk.tls.ephemeralDHKeySize=2048 # This mitigates a DDoS vector. -dbms.jvm.additional=-Djdk.tls.rejectClientInitiatedRenegotiation=true +dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-Djdk.tls.rejectClientInitiatedRenegotiation=true #******************************************************************** # Wrapper Windows NT/2000/XP Service Properties @@ -310,10 +308,22 @@ dbms.windows_service_name=neo4j #******************************************************************** # Other Neo4j system properties #******************************************************************** -dbms.jvm.additional=-Dunsupported.dbms.udc.source=debian +dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-Dunsupported.dbms.udc.source=debian # Allow Neo4j APOC to import and export for backup dbms.security.procedures.unrestricted=apoc.export.*,apoc.import.* apoc.export.file.enabled=true -apoc.import.file.enabled=true \ No newline at end of file +apoc.import.file.enabled=true +dbms.connector.bolt.listen_address=0.0.0.0:7687 + +dbms.connector.https.listen_address=0.0.0.0:7473 + +dbms.memory.pagecache.size=512M + +dbms.connector.http.listen_address=0.0.0.0:7474 +wrapper.java.additional=-Dneo4j.ext.udc.source=docker +dbms.tx_log.rotation.retention_policy=100M size +dbms.directories.logs=/logs +HOME=/var/lib/neo4j +EDITION=community diff --git a/frontend/amundsen_application/api/utils/metadata_utils.py b/frontend/amundsen_application/api/utils/metadata_utils.py index 1ff1e1f9f9..82d2dfc1a9 100644 --- a/frontend/amundsen_application/api/utils/metadata_utils.py +++ b/frontend/amundsen_application/api/utils/metadata_utils.py @@ -113,7 +113,8 @@ def marshall_table_full(table_dict: Dict) -> Dict: table: Table = schema.load(table_dict) results: Dict[str, Any] = schema.dump(table) - is_editable = is_table_editable(results['schema'], results['name']) + # is_editable = is_table_editable(results['schema'], results['name']) + is_editable = False results['is_editable'] = is_editable # TODO - Cleanup https://github.com/lyft/amundsen/issues/296 diff --git a/frontend/amundsen_application/config.py b/frontend/amundsen_application/config.py index 13bf82fa4e..11226dd34d 100644 --- a/frontend/amundsen_application/config.py +++ b/frontend/amundsen_application/config.py @@ -43,7 +43,7 @@ class Config: # DEPRECATED (since version 3.9.0): Please use `POPULAR_RESOURCES_COUNT` # Number of popular tables to be displayed on the index/search page - POPULAR_TABLE_COUNT = None + POPULAR_TABLE_COUNT = 10 POPULAR_RESOURCES_COUNT = 4 # type: int # DEPRECATED (since version 3.9.0): Please use `POPULAR_RESOURCES_PERSONALIZATION` @@ -107,7 +107,23 @@ class Config: ISSUE_TRACKER_ISSUE_TYPE_ID = None # Programmatic Description configuration. Please see docs/flask_config.md - PROGRAMMATIC_DISPLAY = None # type: Optional[Dict] + PROGRAMMATIC_DISPLAY = { + 'RIGHT': { + "primary_keys": {'display_order': 0}, + "service_level_agreement": {'display_order': 1}, + "view_location": {'display_order': 2}, + }, + 'LEFT': { + "data_owner": {'display_order': 0}, + "ETL Frequency (Last 7 Days)": {'display_order': 1}, + }, + "related_objects": {'display_order': 0}, + "source_type": {'display_order': 1}, + "connection": {'display_order': 2}, + "replication_strategy": {'display_order': 3}, + "source_code": {'display_order': 4}, + "post_process": {'display_order': 5}, + } # If specified, will be used to generate headers for service-to-service communication # Please note that if specified, this will ignore following config properties: diff --git a/frontend/amundsen_application/static/.storybook/amundsenTheme.js b/frontend/amundsen_application/static/.storybook/amundsenTheme.js index a719b47c36..757286a49f 100644 --- a/frontend/amundsen_application/static/.storybook/amundsenTheme.js +++ b/frontend/amundsen_application/static/.storybook/amundsenTheme.js @@ -3,13 +3,13 @@ import { create } from '@storybook/theming/create'; export default create({ base: 'light', - colorPrimary: '#9c9bff', // indigo30 - colorSecondary: '#665aff', // indigo60 + colorPrimary: '#007DFB', // revlightblue + colorSecondary: '#0666EB', // revblue // UI appBg: '#fcfcff', // gray0 - appContentBg: '#cacad9', // gray20 - appBorderColor: '#63637b', // gray60 + appContentBg: '#DEE2E7', // revgrey2 + appBorderColor: '#4E5867', // revgrey6 appBorderRadius: 4, // Typography @@ -17,13 +17,13 @@ export default create({ fontCode: '"Menlo-Bold", monospace', // Text colors - textColor: '#292936', // gray100 + textColor: '#21262E', // revblack textInverseColor: '#fcfcff', // gray0 // Toolbar default and active colors - barTextColor: '#dcdcff', // indigo10 - barSelectedColor: '#292936', // gray100 - barBg: '#665aff', // indigo60 + barTextColor: '#6DCFFC', // revskyblue2 + barSelectedColor: '#21262E', // revblack + barBg: '#0666EB', // revblue // Form colors inputBg: 'white', diff --git a/frontend/amundsen_application/static/css/_colors.scss b/frontend/amundsen_application/static/css/_colors.scss index ed8e382669..86e84e54ef 100644 --- a/frontend/amundsen_application/static/css/_colors.scss +++ b/frontend/amundsen_application/static/css/_colors.scss @@ -265,3 +265,34 @@ $gray70: #515167; $gray80: #414155; $gray90: #334; $gray100: #292936; + +/* Revolut Core Palette */ +$revwhite: #FFFFFF; +$revblack: #21262E; +$revblue: #0666EB; + +/* Revolut Greyscale Palette */ +$revgrey1: #F5F6F8; +$revgrey2: #DEE2E7; +$revgrey3: #BCC3CE; +$revgrey4: #99A2AF; +$revgrey5: #6F7988; +$revgrey6: #4E5867; +$revgrey7: #333B47; + +/* Revolut Extended Palette */ +$revlightblue: #007DFB; +$revskyblue: #00ABFA; +$revteal: #00BE90; +$revgreen: #6DB720; +$revyellow: #FBC70A; +$revorange: #F7930D; +$revterracotta: #EE7A40; +$revred: #F54C3E; +$revpink: #ED5B7B; +$revpurple: #C054D3; +$revdeeppurple: #805CF5; + +/* Revolut Custom Extended Palette */ +$revskyblue1: #B6E7FD; +$revskyblue2: #6DCFFC; \ No newline at end of file diff --git a/frontend/amundsen_application/static/css/_icons-custom.scss b/frontend/amundsen_application/static/css/_icons-custom.scss index fd924e2e08..472806b4cf 100644 --- a/frontend/amundsen_application/static/css/_icons-custom.scss +++ b/frontend/amundsen_application/static/css/_icons-custom.scss @@ -2,3 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 // This file is intentionally left blank and should be used to add new icons or overwrite defaults from _icons-default.scss +$data-stores: ( + exasol: '../images/icons/exasol_logo.png', + helios: '../images/icons/exasol_logo.png', +); \ No newline at end of file diff --git a/frontend/amundsen_application/static/css/_variables-custom.scss b/frontend/amundsen_application/static/css/_variables-custom.scss index 5fe2eef4bf..1a87a4b36a 100644 --- a/frontend/amundsen_application/static/css/_variables-custom.scss +++ b/frontend/amundsen_application/static/css/_variables-custom.scss @@ -2,3 +2,75 @@ // SPDX-License-Identifier: Apache-2.0 // This file is intentionally left blank and should be used to add new custom variables or overwrite defaults from _variables-default.scss +$brand-color-1: $revskyblue1; +$brand-color-2: $revskyblue2; +$brand-color-3: $revskyblue; +$brand-color-4: $revlightblue; +$brand-color-5: $revblue; + +$divider: $revgrey2; +$stroke: $revgrey3; +$stroke-light: $revgrey2; +$stroke-focus: $revgrey6; +$stroke-underline: $revgrey4; + +/* Scaffolding */ +$body-bg: $revwhite; +$body-bg-secondary: $gray0; +$body-bg-tertiary: $revgrey1; +$body-bg-dark: $revblack; +$divider: $revgrey2; +$stroke: $revgrey3; +$stroke-light: $revgrey2; +$stroke-focus: $revgrey6; +$stroke-underline: $revgrey4; + +// Typography +$text-primary: $revblack; +$text-secondary: $revgrey6; +$text-tertiary: $revgrey4; +$text-placeholder: $revgrey4; + +$column-name-color: $revblue; +$link-color: $revlightblue; +$link-hover-color: $revblue; + +// Buttons +$btn-primary-bg: $revlightblue; +$btn-primary-bg-hover: $revblue; +$btn-primary-border: transparent; +$btn-primary-border-hover: transparent; +$btn-primary-color: $revwhite; +$btn-primary-color-hover: $revwhite; + +$btn-default-border: $revgrey2; +$btn-default-border-hover: $revgrey4; +$btn-default-color: $revblack; +$btn-default-color-hover: $revgrey7; + +// Icons +$icon-bg: $revgrey2; +$icon-bg-brand: $revskyblue; +$icon-bg-dark: $revgrey6; +$icon-bg-disabled: $revgrey2; + +// Header, Body, & Footer +$nav-bar-color: $revblack; + +// Badges +$badge-text-color: $revblack; +$badge-negative-color: $revorange; +$badge-neutral-color: $revgrey3; +$badge-primary-color: $revteal; +$badge-positive-color: $revgreen; +$badge-warning-color: $revred; +$badge-overlay: $revblack; + +// Tags +$tag-bg: $revgrey2; +$tag-bg-hover: $revgrey4; +$resource-title-color: $revlightblue; + +// Priority +$priority-text-blocker: $white; +$priority-bg-color: $revred; \ No newline at end of file diff --git a/frontend/amundsen_application/static/css/_variables-default.scss b/frontend/amundsen_application/static/css/_variables-default.scss index dbafc75d5a..3dbc27deea 100644 --- a/frontend/amundsen_application/static/css/_variables-default.scss +++ b/frontend/amundsen_application/static/css/_variables-default.scss @@ -31,9 +31,9 @@ $text-tertiary: $gray40 !default; $text-placeholder: $gray40 !default; $text-inverse: $white !default; -$column-name-color: $indigo70; -$link-color: $brand-color-4; -$link-hover-color: $brand-color-5; +$column-name-color: $indigo70 !default; +$link-color: $brand-color-4 !default; +$link-hover-color: $brand-color-5 !default; $font-family-body: 'Open Sans', sans-serif !default; $font-weight-body-regular: 400 !default; @@ -54,12 +54,12 @@ $line-height-small: 1.5 !default; $line-height-large: 1.5 !default; // Badges -$badge-text-color: $text-primary; -$badge-negative-color: $sunset20; -$badge-neutral-color: $gray20; -$badge-primary-color: $cyan10; -$badge-positive-color: $mint20; -$badge-warning-color: $amber30; +$badge-text-color: $text-primary !default; +$badge-negative-color: $sunset20 !default; +$badge-neutral-color: $gray20 !default; +$badge-primary-color: $cyan10 !default; +$badge-positive-color: $mint20 !default; +$badge-warning-color: $amber30 !default; $badge-overlay: $gray100; $badge-opacity-light: 0.14; @@ -115,16 +115,16 @@ $list-group-border-radius: 0 !default; $label-primary-bg: $brand-color-3 !default; //Priority -$priority-text-blocker: $white; -$priority-bg-color: $rose80; +$priority-text-blocker: $white !default; +$priority-bg-color: $rose80 !default; // Tags -$tag-bg: $gray5; -$tag-bg-hover: $gray10; -$tag-border-radius: 4px; +$tag-bg: $gray5 !default; +$tag-bg-hover: $gray10 !default; +$tag-border-radius: 4px !default; // TODO Temp Colors -$resource-title-color: $indigo60; +$resource-title-color: $indigo60 !default; // Spacing $spacer-size: 8px; diff --git a/frontend/amundsen_application/static/images/revolut-512.png b/frontend/amundsen_application/static/images/revolut-512.png new file mode 100644 index 0000000000000000000000000000000000000000..50707715b06d5e9fadbe78859c0137d15c64faf8 GIT binary patch literal 11382 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 literal 0 HcmV?d00001 diff --git a/frontend/amundsen_application/static/js/components/SearchBar/InlineSearchResults/styles.scss b/frontend/amundsen_application/static/js/components/SearchBar/InlineSearchResults/styles.scss index 1f934686ca..70270b63b3 100644 --- a/frontend/amundsen_application/static/js/components/SearchBar/InlineSearchResults/styles.scss +++ b/frontend/amundsen_application/static/js/components/SearchBar/InlineSearchResults/styles.scss @@ -60,7 +60,7 @@ border: none; &:hover { - background-color: $indigo5; + background-color: $revskyblue1; box-shadow: none !important; } diff --git a/frontend/amundsen_application/static/js/config/config-custom.ts b/frontend/amundsen_application/static/js/config/config-custom.ts index f0dad436a9..960fe4ab6d 100644 --- a/frontend/amundsen_application/static/js/config/config-custom.ts +++ b/frontend/amundsen_application/static/js/config/config-custom.ts @@ -1,6 +1,6 @@ // This file should be used to add new config variables or overwrite defaults from config-default.ts -import { AppConfigCustom } from './config-types'; +import { AppConfigCustom, BadgeStyle } from './config-types'; const configCustom: AppConfigCustom = { browse: { @@ -19,7 +19,7 @@ const configCustom: AppConfigCustom = { enabled: false, }, indexUsers: { - enabled: false, + enabled: true, }, indexFeatures: { enabled: false, @@ -34,7 +34,62 @@ const configCustom: AppConfigCustom = { inputHint: '', }, }, - productTour: {}, + announcements: { + enabled: true + }, + tableProfile: { + isBeta: false, + isExploreEnabled: true, + exploreUrlGenerator: ( + database: string, + cluster: string, + schema: string, + table: string, + ) => { + return `https://metabase.revolutlabs.com/dashboard/3366?schema=${schema}&table_name=${table}`; + }, + }, + tableLineage: { + iconPath: '/static/images/metabase.svg', + isBeta: true, + externalEnabled: true, + inAppListEnabled: true, + inAppPageEnabled: true, + urlGenerator: ( + database: string, + cluster: string, + schema: string, + table: string + ) => { + return `https://metabase.revolutlabs.com/dashboard/6780?schema_name=${schema}&table_name=${table}`; + }, + }, + badges: { + 'deprecated': { + style: BadgeStyle.DEFAULT, + displayName: 'Alpha', + }, + 'partition column': { + style: BadgeStyle.DEFAULT, + displayName: 'Partition Column', + }, + 'sensitive': { + style: BadgeStyle.DEFAULT, + displayName: 'Sensitive', + }, + 'confidential': { + style: BadgeStyle.DEFAULT, + displayName: 'Confidential', + }, + 'critical': { + style: BadgeStyle.PRIMARY, + displayName: 'Critical', + }, + 'golden': { + style: BadgeStyle.SUCCESS, + displayName: 'Golden', + }, + }, }; export default configCustom; diff --git a/frontend/amundsen_application/static/js/config/config-default.ts b/frontend/amundsen_application/static/js/config/config-default.ts index f418a62a36..247df2d5d6 100644 --- a/frontend/amundsen_application/static/js/config/config-default.ts +++ b/frontend/amundsen_application/static/js/config/config-default.ts @@ -9,9 +9,9 @@ const configDefault: AppConfig = { showBadgesInHome: true, }, date: { - default: 'MMM DD, YYYY', - dateTimeShort: 'MMM DD, YYYY ha z', - dateTimeLong: 'MMMM Do YYYY [at] h:mm:ss a', + default: 'DD MMM YYYY', + dateTimeShort: 'DD MMM YYYY ha z', + dateTimeLong: 'Do MMMM YYYY [at] h:mm:ss a', }, editableText: { tableDescLength: 750, @@ -39,7 +39,7 @@ const configDefault: AppConfig = { inputHint: '', }, }, - logoPath: null, + logoPath: '/static/images/revolut-512.png', logoTitle: 'AMUNDSEN', documentTitle: 'Amundsen - Data Discovery Portal', numberFormat: null, @@ -168,6 +168,14 @@ const configDefault: AppConfig = { displayName: 'Snowflake', iconClass: 'icon-snowflake', }, + exasol: { + displayName: 'Exasol', + iconClass: 'icon-exasol', + }, + helios: { + displayName: 'Exasol', + iconClass: 'icon-helios', + }, }, }, [ResourceType.table]: { @@ -280,6 +288,10 @@ const configDefault: AppConfig = { displayName: 'Github', iconPath: '/static/images/github.png', }, + bitbucket: { + displayName: 'Bitbucket', + iconPath: '/static/images/Bitbucket.png', + }, }, notices: {}, }, diff --git a/frontend/amundsen_application/static/js/features/NavBar/index.tsx b/frontend/amundsen_application/static/js/features/NavBar/index.tsx index 27d1ff1133..2e9c62533b 100644 --- a/frontend/amundsen_application/static/js/features/NavBar/index.tsx +++ b/frontend/amundsen_application/static/js/features/NavBar/index.tsx @@ -202,7 +202,7 @@ export const NavBar: React.FC = ({ loggedInUser, location }) => { alt="" /> )} - {getLogoTitle()} + {renderSearchBar(location)} diff --git a/frontend/amundsen_application/static/js/features/NavBar/styles.scss b/frontend/amundsen_application/static/js/features/NavBar/styles.scss index 5da1beef27..1afd603b08 100644 --- a/frontend/amundsen_application/static/js/features/NavBar/styles.scss +++ b/frontend/amundsen_application/static/js/features/NavBar/styles.scss @@ -98,6 +98,7 @@ $profile-menu-width: 200px; .logo-icon { margin-right: $spacer-2; max-height: $spacer-4; + max-height: 32px; max-width: 144px; } diff --git a/frontend/amundsen_application/static/js/interfaces/Enums.ts b/frontend/amundsen_application/static/js/interfaces/Enums.ts index 716ec45a40..5dd9c4bbdc 100644 --- a/frontend/amundsen_application/static/js/interfaces/Enums.ts +++ b/frontend/amundsen_application/static/js/interfaces/Enums.ts @@ -74,6 +74,8 @@ export enum IconType { ELASTICSEARCH = 'icon-elasticsearch', DATABRICKS_SQL = 'icon-databricks-sql', TERADATA = 'icon-teradata', + HELIOS = 'icon-exasol', + EXASOL = 'icon-exasol', } // Icon sizes diff --git a/frontend/amundsen_application/static/js/pages/ProfilePage/constants.ts b/frontend/amundsen_application/static/js/pages/ProfilePage/constants.ts index 6a4cd5f0ba..a6cdc060b7 100644 --- a/frontend/amundsen_application/static/js/pages/ProfilePage/constants.ts +++ b/frontend/amundsen_application/static/js/pages/ProfilePage/constants.ts @@ -8,7 +8,7 @@ export const ITEMS_PER_PAGE = 3; export const OWNED_LABEL = 'owned'; export const OWNED_SOURCE = 'profile_own'; -export const OWNED_TITLE_PREFIX = 'Owned'; +export const OWNED_TITLE_PREFIX = 'Maintained'; export const READ_LABEL = 'frequently used'; export const READ_SOURCE = 'profile_read'; @@ -19,7 +19,7 @@ export const GITHUB_LINK_TEXT = 'Github'; export const EMPTY_TEXT_PREFIX = 'User has no'; export const FOOTER_TEXT_PREFIX = 'View all'; -export const NOT_ACTIVE_USER_TEXT = 'Alumni'; +export const NOT_ACTIVE_USER_TEXT = 'Inactive'; export enum PROFILE_TAB { TABLE = 'tables', diff --git a/frontend/amundsen_application/static/js/pages/TableDetailPage/ExploreButton/index.tsx b/frontend/amundsen_application/static/js/pages/TableDetailPage/ExploreButton/index.tsx index 298aa119e5..c5150cb6a1 100644 --- a/frontend/amundsen_application/static/js/pages/TableDetailPage/ExploreButton/index.tsx +++ b/frontend/amundsen_application/static/js/pages/TableDetailPage/ExploreButton/index.tsx @@ -28,7 +28,7 @@ class ExploreButton extends React.Component { onClick={logClick} rel="noreferrer" > - Explore + Table Stats ); } diff --git a/frontend/amundsen_application/static/js/pages/TableDetailPage/constants.ts b/frontend/amundsen_application/static/js/pages/TableDetailPage/constants.ts index 478d89cc64..4b950ec220 100644 --- a/frontend/amundsen_application/static/js/pages/TableDetailPage/constants.ts +++ b/frontend/amundsen_application/static/js/pages/TableDetailPage/constants.ts @@ -6,11 +6,11 @@ export const EDIT_DESC_TEXT = 'Click to edit description in'; export const EDIT_OWNERS_TEXT = 'Click to edit owners in'; export const COLUMN_URL_KEY = 'column'; -export const DATE_RANGE_TITLE = 'Date Range'; +export const DATE_RANGE_TITLE = 'Partition Date Range'; export const DESCRIPTION_TITLE = 'Description'; export const FREQ_USERS_TITLE = 'Frequent Users'; export const LAST_UPDATED_TITLE = 'Last Updated'; -export const OWNERS_TITLE = 'Owners'; +export const OWNERS_TITLE = 'Maintainers'; export const TAG_TITLE = 'Tags'; export const SORT_BY_DROPDOWN_TITLE = 'Sort by'; export const SORT_BY_MENU_TITLE_TEXT = 'Sort by'; diff --git a/frontend/amundsen_application/static/js/pages/TableDetailPage/styles.scss b/frontend/amundsen_application/static/js/pages/TableDetailPage/styles.scss index 80db589efc..39b4d9e9bf 100644 --- a/frontend/amundsen_application/static/js/pages/TableDetailPage/styles.scss +++ b/frontend/amundsen_application/static/js/pages/TableDetailPage/styles.scss @@ -22,7 +22,7 @@ } .programmatic-hr { - border: 1px solid $gray15; + border: 1px solid $revgrey2; margin: 10px 0 4px; } } diff --git a/frontend/amundsen_application/static/js/stories/colors.story.tsx b/frontend/amundsen_application/static/js/stories/colors.story.tsx index e28b6e68c0..84725d2cdd 100644 --- a/frontend/amundsen_application/static/js/stories/colors.story.tsx +++ b/frontend/amundsen_application/static/js/stories/colors.story.tsx @@ -36,19 +36,19 @@ stories.add('Colors', () => ( <>
- - - - - + + + + +
- - - - + + + +
From 9cce2867225eb9b73918debacbd732677fdaf267 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Perell=C3=B3=20Garc=C3=ADa?= Date: Mon, 2 May 2022 12:50:10 +0200 Subject: [PATCH 02/15] Add comments to initial commit --- docker-amundsen-local.yml | 4 +-- example/docker/neo4j/conf/neo4j.conf | 46 +++++++++++----------------- 2 files changed, 20 insertions(+), 30 deletions(-) diff --git a/docker-amundsen-local.yml b/docker-amundsen-local.yml index e6fdc34eaa..fbba399121 100644 --- a/docker-amundsen-local.yml +++ b/docker-amundsen-local.yml @@ -68,8 +68,8 @@ services: depends_on: - amundsenmetadata - amundsensearch - ports: - - 8000:5000 + ports::wq + - 8000:5000 # Port set to 8000 because in macOS Monterey 5000 is taken networks: - amundsennet environment: diff --git a/example/docker/neo4j/conf/neo4j.conf b/example/docker/neo4j/conf/neo4j.conf index 579b3f1620..4aeb417932 100755 --- a/example/docker/neo4j/conf/neo4j.conf +++ b/example/docker/neo4j/conf/neo4j.conf @@ -10,6 +10,7 @@ dbms.active_database=amundsen.db # Paths of directories in the installation. dbms.directories.data=/data +dbms.directories.logs=/logs #dbms.directories.plugins=/var/lib/neo4j/plugins #dbms.directories.certificates=/var/lib/neo4j/certificates #dbms.directories.lib=/usr/share/neo4j/lib @@ -225,6 +226,7 @@ dbms.connector.https.enabled=true #dbms.security.allow_csv_import_from_file_urls=true # Retention policy for transaction logs needed to perform recovery and backups. +dbms.tx_log.rotation.retention_policy=1 days # Only allow read operations from this Neo4j instance. This mode still requires # write access to the directory for lock purposes. @@ -244,11 +246,11 @@ dbms.connector.https.enabled=true # G1GC generally strikes a good balance between throughput and tail # latency, without too much tuning. -dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-XX:+UseG1GC +dbms.jvm.additional=-XX:+UseG1GC # Have common exceptions keep producing stack traces, so they can be # debugged regardless of how often logs are rotated. -dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-XX:-OmitStackTraceInFastThrow +dbms.jvm.additional=-XX:-OmitStackTraceInFastThrow # Make sure that `initmemory` is not only allocated, but committed to # the process, before starting the database. This reduces memory @@ -257,17 +259,17 @@ dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-XX:-OmitStackTraceInFa # due to heap-growing GC events, where a decrease in available page # cache leads to an increase in mean IO response time. # Try reducing the heap memory, if this flag degrades performance. -dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-XX:+AlwaysPreTouch +dbms.jvm.additional=-XX:+AlwaysPreTouch # Trust that non-static final fields are really final. # This allows more optimizations and improves overall performance. # NOTE: Disable this if you use embedded mode, or have extensions or dependencies that may use reflection or # serialization to change the value of final fields! -dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-XX:+UnlockExperimentalVMOptions -dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-XX:+TrustFinalNonStaticFields +dbms.jvm.additional=-XX:+UnlockExperimentalVMOptions +dbms.jvm.additional=-XX:+TrustFinalNonStaticFields # Disable explicit garbage collection, which is occasionally invoked by the JDK itself. -dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-XX:+DisableExplicitGC +dbms.jvm.additional=-XX:+DisableExplicitGC # Remote JMX monitoring, uncomment and adjust the following lines as needed. Absolute paths to jmx.access and # jmx.password files are required. @@ -278,21 +280,21 @@ dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-XX:+DisableExplicitGC # and have permissions set to 0600. # For details on setting these file permissions on Windows see: # http://docs.oracle.com/javase/8/docs/technotes/guides/management/security-windows.html -#dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-Dcom.sun.management.jmxremote.port=3637 -#dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-Dcom.sun.management.jmxremote.authenticate=true -#dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-Dcom.sun.management.jmxremote.ssl=false -#dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-Dcom.sun.management.jmxremote.password.file=/absolute/path/to/conf/jmx.password -#dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-Dcom.sun.management.jmxremote.access.file=/absolute/path/to/conf/jmx.access +#dbms.jvm.additional=-Dcom.sun.management.jmxremote.port=3637 +#dbms.jvm.additional=-Dcom.sun.management.jmxremote.authenticate=true +#dbms.jvm.additional=-Dcom.sun.management.jmxremote.ssl=false +#dbms.jvm.additional=-Dcom.sun.management.jmxremote.password.file=/absolute/path/to/conf/jmx.password +#dbms.jvm.additional=-Dcom.sun.management.jmxremote.access.file=/absolute/path/to/conf/jmx.access # Some systems cannot discover host name automatically, and need this line configured: -#dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-Djava.rmi.server.hostname=$THE_NEO4J_SERVER_HOSTNAME +#dbms.jvm.additional=-Djava.rmi.server.hostname=$THE_NEO4J_SERVER_HOSTNAME # Expand Diffie Hellman (DH) key size from default 1024 to 2048 for DH-RSA cipher suites used in server TLS handshakes. # This is to protect the server from any potential passive eavesdropping. -dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-Djdk.tls.ephemeralDHKeySize=2048 +dbms.jvm.additional=-Djdk.tls.ephemeralDHKeySize=2048 # This mitigates a DDoS vector. -dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-Djdk.tls.rejectClientInitiatedRenegotiation=true +dbms.jvm.additional=-Djdk.tls.rejectClientInitiatedRenegotiation=true #******************************************************************** # Wrapper Windows NT/2000/XP Service Properties @@ -308,22 +310,10 @@ dbms.windows_service_name=neo4j #******************************************************************** # Other Neo4j system properties #******************************************************************** -dbms.jvm.additional=-Dunsupported.dbms.udc.source=docker,-Dunsupported.dbms.udc.source=debian +dbms.jvm.additional=-Dunsupported.dbms.udc.source=debian # Allow Neo4j APOC to import and export for backup dbms.security.procedures.unrestricted=apoc.export.*,apoc.import.* apoc.export.file.enabled=true -apoc.import.file.enabled=true -dbms.connector.bolt.listen_address=0.0.0.0:7687 - -dbms.connector.https.listen_address=0.0.0.0:7473 - -dbms.memory.pagecache.size=512M - -dbms.connector.http.listen_address=0.0.0.0:7474 -wrapper.java.additional=-Dneo4j.ext.udc.source=docker -dbms.tx_log.rotation.retention_policy=100M size -dbms.directories.logs=/logs -HOME=/var/lib/neo4j -EDITION=community +apoc.import.file.enabled=true \ No newline at end of file From 2b3b717ed23e5d7d98bf7a33a9a1fb4f844d7a5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Perell=C3=B3=20Garc=C3=ADa?= Date: Mon, 2 May 2022 12:52:35 +0200 Subject: [PATCH 03/15] Add comments to initial commit --- frontend/amundsen_application/api/utils/metadata_utils.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/frontend/amundsen_application/api/utils/metadata_utils.py b/frontend/amundsen_application/api/utils/metadata_utils.py index 82d2dfc1a9..d9a629c54a 100644 --- a/frontend/amundsen_application/api/utils/metadata_utils.py +++ b/frontend/amundsen_application/api/utils/metadata_utils.py @@ -114,6 +114,8 @@ def marshall_table_full(table_dict: Dict) -> Dict: results: Dict[str, Any] = schema.dump(table) # is_editable = is_table_editable(results['schema'], results['name']) + # Forcing to False since we don't want to allow the users to update + # any parameters through the UI is_editable = False results['is_editable'] = is_editable From 8e6b11f239f0162068310159dae69c719ec064bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Perell=C3=B3=20Garc=C3=ADa?= Date: Mon, 2 May 2022 12:54:12 +0200 Subject: [PATCH 04/15] Add comments to initial commit --- docker-amundsen-local.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-amundsen-local.yml b/docker-amundsen-local.yml index fbba399121..0658ce2aa1 100644 --- a/docker-amundsen-local.yml +++ b/docker-amundsen-local.yml @@ -68,7 +68,7 @@ services: depends_on: - amundsenmetadata - amundsensearch - ports::wq + ports: - 8000:5000 # Port set to 8000 because in macOS Monterey 5000 is taken networks: - amundsennet From 5fb5006c2f34a0842a79d6d79e76ea81c4889c34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Perell=C3=B3=20Garc=C3=ADa?= Date: Tue, 3 May 2022 12:06:12 +0200 Subject: [PATCH 05/15] Run flake8 for frontend --- frontend/amundsen_application/config.py | 33 +++++++++++++------------ 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/frontend/amundsen_application/config.py b/frontend/amundsen_application/config.py index 11226dd34d..c1b5034dcc 100644 --- a/frontend/amundsen_application/config.py +++ b/frontend/amundsen_application/config.py @@ -108,22 +108,22 @@ class Config: # Programmatic Description configuration. Please see docs/flask_config.md PROGRAMMATIC_DISPLAY = { - 'RIGHT': { - "primary_keys": {'display_order': 0}, - "service_level_agreement": {'display_order': 1}, - "view_location": {'display_order': 2}, - }, - 'LEFT': { - "data_owner": {'display_order': 0}, - "ETL Frequency (Last 7 Days)": {'display_order': 1}, - }, - "related_objects": {'display_order': 0}, - "source_type": {'display_order': 1}, - "connection": {'display_order': 2}, - "replication_strategy": {'display_order': 3}, - "source_code": {'display_order': 4}, - "post_process": {'display_order': 5}, - } + "RIGHT": { + "primary_keys": {"display_order": 0}, + "service_level_agreement": {"display_order": 1}, + "view_location": {"display_order": 2}, + }, + "LEFT": { + "data_owner": {"display_order": 0}, + "ETL Frequency (Last 7 Days)": {"display_order": 1}, + }, + "related_objects": {"display_order": 0}, + "source_type": {"display_order": 1}, + "connection": {"display_order": 2}, + "replication_strategy": {"display_order": 3}, + "source_code": {"display_order": 4}, + "post_process": {"display_order": 5}, + } # If specified, will be used to generate headers for service-to-service communication # Please note that if specified, this will ignore following config properties: @@ -206,3 +206,4 @@ class TestConfig(LocalConfig): class TestNotificationsDisabledConfig(LocalConfig): AUTH_USER_METHOD = get_test_user NOTIFICATIONS_ENABLED = False + From 81dcdcd1be5ece35c6f7cc828228acecdadd3d9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Perell=C3=B3=20Garc=C3=ADa?= Date: Tue, 3 May 2022 12:12:53 +0200 Subject: [PATCH 06/15] Run flake8 for frontend --- frontend/amundsen_application/config.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/frontend/amundsen_application/config.py b/frontend/amundsen_application/config.py index c1b5034dcc..fe3ca39998 100644 --- a/frontend/amundsen_application/config.py +++ b/frontend/amundsen_application/config.py @@ -205,5 +205,4 @@ class TestConfig(LocalConfig): class TestNotificationsDisabledConfig(LocalConfig): AUTH_USER_METHOD = get_test_user - NOTIFICATIONS_ENABLED = False - + NOTIFICATIONS_ENABLED = False \ No newline at end of file From aad26986edc064123c797093da731a23e23d653c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Perell=C3=B3=20Garc=C3=ADa?= Date: Tue, 3 May 2022 12:20:54 +0200 Subject: [PATCH 07/15] Run lint for js --- .../static/js/features/NavBar/index.tsx | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/frontend/amundsen_application/static/js/features/NavBar/index.tsx b/frontend/amundsen_application/static/js/features/NavBar/index.tsx index 2e9c62533b..931abc6a18 100644 --- a/frontend/amundsen_application/static/js/features/NavBar/index.tsx +++ b/frontend/amundsen_application/static/js/features/NavBar/index.tsx @@ -14,7 +14,6 @@ import { feedbackEnabled, indexUsersEnabled, getNavLinks, - getLogoTitle, getProductToursFor, } from 'config/config-utils'; @@ -167,11 +166,8 @@ export const NavBar: React.FC = ({ loggedInUser, location }) => { location.pathname ); - const { - hasFeatureTour, - featureTourKey, - featureTourSteps, - } = getFeatureTourInfo(location.pathname); + const { hasFeatureTour, featureTourKey, featureTourSteps } = + getFeatureTourInfo(location.pathname); const userLink = `/user/${loggedInUser.user_id}?source=navbar`; let avatar =
; @@ -202,7 +198,7 @@ export const NavBar: React.FC = ({ loggedInUser, location }) => { alt="" /> )} - +
{renderSearchBar(location)} From 700570e87335aec1193ee55052d93dd0fa7c9ea2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Perell=C3=B3=20Garc=C3=ADa?= Date: Tue, 3 May 2022 12:35:04 +0200 Subject: [PATCH 08/15] Fix formatting --- frontend/amundsen_application/config.py | 2 +- .../static/js/config/config-custom.ts | 64 +++++++++---------- 2 files changed, 32 insertions(+), 34 deletions(-) diff --git a/frontend/amundsen_application/config.py b/frontend/amundsen_application/config.py index fe3ca39998..c4f72a3fc6 100644 --- a/frontend/amundsen_application/config.py +++ b/frontend/amundsen_application/config.py @@ -205,4 +205,4 @@ class TestConfig(LocalConfig): class TestNotificationsDisabledConfig(LocalConfig): AUTH_USER_METHOD = get_test_user - NOTIFICATIONS_ENABLED = False \ No newline at end of file + NOTIFICATIONS_ENABLED = False diff --git a/frontend/amundsen_application/static/js/config/config-custom.ts b/frontend/amundsen_application/static/js/config/config-custom.ts index 960fe4ab6d..76bdd32fce 100644 --- a/frontend/amundsen_application/static/js/config/config-custom.ts +++ b/frontend/amundsen_application/static/js/config/config-custom.ts @@ -35,7 +35,7 @@ const configCustom: AppConfigCustom = { }, }, announcements: { - enabled: true + enabled: true, }, tableProfile: { isBeta: false, @@ -44,10 +44,9 @@ const configCustom: AppConfigCustom = { database: string, cluster: string, schema: string, - table: string, - ) => { - return `https://metabase.revolutlabs.com/dashboard/3366?schema=${schema}&table_name=${table}`; - }, + table: string + ) => + `https://metabase.revolutlabs.com/dashboard/3366?schema=${schema}&table_name=${table}`, }, tableLineage: { iconPath: '/static/images/metabase.svg', @@ -60,36 +59,35 @@ const configCustom: AppConfigCustom = { cluster: string, schema: string, table: string - ) => { - return `https://metabase.revolutlabs.com/dashboard/6780?schema_name=${schema}&table_name=${table}`; - }, + ) => + `https://metabase.revolutlabs.com/dashboard/6780?schema_name=${schema}&table_name=${table}`, }, badges: { - 'deprecated': { - style: BadgeStyle.DEFAULT, - displayName: 'Alpha', - }, - 'partition column': { - style: BadgeStyle.DEFAULT, - displayName: 'Partition Column', - }, - 'sensitive': { - style: BadgeStyle.DEFAULT, - displayName: 'Sensitive', - }, - 'confidential': { - style: BadgeStyle.DEFAULT, - displayName: 'Confidential', - }, - 'critical': { - style: BadgeStyle.PRIMARY, - displayName: 'Critical', - }, - 'golden': { - style: BadgeStyle.SUCCESS, - displayName: 'Golden', - }, - }, + deprecated: { + style: BadgeStyle.DEFAULT, + displayName: 'Alpha', + }, + 'partition column': { + style: BadgeStyle.DEFAULT, + displayName: 'Partition Column', + }, + sensitive: { + style: BadgeStyle.DEFAULT, + displayName: 'Sensitive', + }, + confidential: { + style: BadgeStyle.DEFAULT, + displayName: 'Confidential', + }, + critical: { + style: BadgeStyle.PRIMARY, + displayName: 'Critical', + }, + golden: { + style: BadgeStyle.SUCCESS, + displayName: 'Golden', + }, + }, }; export default configCustom; From 51a7965247a910c8565b8f8f3a2d01c70b9d7d74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Perell=C3=B3=20Garc=C3=ADa?= Date: Tue, 3 May 2022 12:42:47 +0200 Subject: [PATCH 09/15] Fix formatting --- .../static/js/features/NavBar/index.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/amundsen_application/static/js/features/NavBar/index.tsx b/frontend/amundsen_application/static/js/features/NavBar/index.tsx index 931abc6a18..b2b7fe5db1 100644 --- a/frontend/amundsen_application/static/js/features/NavBar/index.tsx +++ b/frontend/amundsen_application/static/js/features/NavBar/index.tsx @@ -166,7 +166,11 @@ export const NavBar: React.FC = ({ loggedInUser, location }) => { location.pathname ); - const { hasFeatureTour, featureTourKey, featureTourSteps } = + const { + hasFeatureTour, + featureTourKey, + featureTourSteps, + } = getFeatureTourInfo(location.pathname); const userLink = `/user/${loggedInUser.user_id}?source=navbar`; From 7e97929f59a3ac6025df816958a5d5ba857d3a26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Perell=C3=B3=20Garc=C3=ADa?= Date: Tue, 3 May 2022 12:53:02 +0200 Subject: [PATCH 10/15] Fix formatting --- .../static/js/features/NavBar/index.tsx | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/frontend/amundsen_application/static/js/features/NavBar/index.tsx b/frontend/amundsen_application/static/js/features/NavBar/index.tsx index b2b7fe5db1..931abc6a18 100644 --- a/frontend/amundsen_application/static/js/features/NavBar/index.tsx +++ b/frontend/amundsen_application/static/js/features/NavBar/index.tsx @@ -166,11 +166,7 @@ export const NavBar: React.FC = ({ loggedInUser, location }) => { location.pathname ); - const { - hasFeatureTour, - featureTourKey, - featureTourSteps, - } = + const { hasFeatureTour, featureTourKey, featureTourSteps } = getFeatureTourInfo(location.pathname); const userLink = `/user/${loggedInUser.user_id}?source=navbar`; From f0df8abb4168e577690b0040d7aeb9e6364e4bb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Perell=C3=B3=20Garc=C3=ADa?= Date: Tue, 3 May 2022 12:53:02 +0200 Subject: [PATCH 11/15] Fix formatting --- .../static/js/features/NavBar/index.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/frontend/amundsen_application/static/js/features/NavBar/index.tsx b/frontend/amundsen_application/static/js/features/NavBar/index.tsx index 931abc6a18..877f149c1e 100644 --- a/frontend/amundsen_application/static/js/features/NavBar/index.tsx +++ b/frontend/amundsen_application/static/js/features/NavBar/index.tsx @@ -166,8 +166,11 @@ export const NavBar: React.FC = ({ loggedInUser, location }) => { location.pathname ); - const { hasFeatureTour, featureTourKey, featureTourSteps } = - getFeatureTourInfo(location.pathname); + const { + hasFeatureTour, + featureTourKey, + featureTourSteps, + } = getFeatureTourInfo(location.pathname); const userLink = `/user/${loggedInUser.user_id}?source=navbar`; let avatar =
; From b769ccb809c33fd8faa7e5b1300c9052b69c41c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Perell=C3=B3=20Garc=C3=ADa?= Date: Tue, 3 May 2022 13:16:08 +0200 Subject: [PATCH 12/15] Update betterer file --- .../static/.betterer.results | 109 ++++++++++-------- 1 file changed, 62 insertions(+), 47 deletions(-) diff --git a/frontend/amundsen_application/static/.betterer.results b/frontend/amundsen_application/static/.betterer.results index 49b6fcde2c..347c15eb4a 100644 --- a/frontend/amundsen_application/static/.betterer.results +++ b/frontend/amundsen_application/static/.betterer.results @@ -1,6 +1,9 @@ // BETTERER RESULTS V2. exports[`eslint`] = { value: `{ + "js/components/Announcements/AnnouncementsList/index.spec.tsx:4181793549": [ + [100, 42, -2670, "Parsing error: Expression expected.", "5381"] + ], "js/components/Announcements/index.spec.tsx:2594822054": [ [3, 12, 5, "\'React\' is defined but never used.", "229961444"], [5, 9, 7, "\'shallow\' is defined but never used.", "3030293799"], @@ -48,6 +51,9 @@ exports[`eslint`] = { [44, 6, 99, "Static HTML elements with event handlers require a role.", "2951945087"], [45, 17, 24, "Must use destructuring props assignment", "2874142076"] ], + "js/components/Card/index.spec.tsx:396628982": [ + [164, 42, -4740, "Parsing error: Expression expected.", "5381"] + ], "js/components/EditableSection/index.spec.tsx:4161767008": [ [30, 23, 5, "\'props\' is assigned a value but never used.", "187023499"], [39, 21, 5, "\'props\' is assigned a value but never used.", "187023499"], @@ -66,36 +72,10 @@ exports[`eslint`] = { [126, 10, 137, "Visible, non-interactive elements with click handlers must have at least one keyboard listener.", "3965651236"] ], "js/components/EditableText/index.tsx:2818784014": [ - [50, 2, 21, "textAreaRef should be placed after componentDidUpdate", "3072052035"], - [71, 6, 13, "Do not use setState in componentDidUpdate", "57229240"], - [79, 10, 25, "Must use destructuring props assignment", "793704523"], - [80, 8, 25, "Must use destructuring props assignment", "793704523"], - [82, 32, 16, "Must use destructuring state assignment", "3998965439"], - [82, 53, 21, "Must use destructuring state assignment", "1159122654"], - [84, 6, 13, "Do not use setState in componentDidUpdate", "57229240"], - [89, 4, 22, "Must use destructuring props assignment", "2225424112"], - [93, 4, 22, "Must use destructuring props assignment", "2225424112"], - [97, 27, 23, "Must use destructuring props assignment", "2982501243"], - [100, 23, 23, "Must use destructuring props assignment", "2982501243"], - [108, 6, 22, "Must use destructuring props assignment", "2225424112"], - [115, 4, 24, "Must use destructuring props assignment", "3049746099"], - [131, 19, 20, "Script URL is a form of eval.", "3373049033"], - [143, 8, 207, "A control must be associated with a text label.", "2914986446"] + [89, 26, -2066, "Parsing error: Expression expected.", "5381"] ], "js/components/EntityCard/EntityCardSection/index.tsx:474926744": [ - [25, 2, 55, "editButton should be placed after constructor", "2479426463"], - [38, 8, 21, "Must use destructuring props assignment", "2809154561"], - [39, 33, 19, "Must use destructuring state assignment", "2871981746"], - [39, 33, 10, "Use callback in setState when referencing the previous state.", "4014904506"], - [45, 30, 19, "Must use destructuring state assignment", "2871981746"], - [52, 13, 16, "Must use destructuring props assignment", "1935972237"], - [53, 13, 19, "Must use destructuring props assignment", "3530841662"], - [55, 26, 19, "Must use destructuring props assignment", "3530841662"], - [60, 13, 21, "Must use destructuring props assignment", "2809154561"], - [61, 14, 163, "Missing an explicit type attribute for button", "3973564347"], - [61, 14, 163, "A control must be associated with a text label.", "3973564347"], - [70, 11, 26, "Must use destructuring props assignment", "2617170041"], - [70, 38, 19, "Must use destructuring state assignment", "2871981746"] + [41, 27, -960, "Parsing error: Expression expected.", "5381"] ], "js/components/EntityCard/index.spec.tsx:4051356684": [ [8, 0, 52, "\`./EntityCardSection\` import should occur before import of \`.\`", "1030164788"] @@ -107,6 +87,12 @@ exports[`eslint`] = { "js/components/Inputs/CheckBoxItem/index.tsx:360935175": [ [26, 6, 163, "A control must be associated with a text label.", "3374264857"] ], + "js/components/Lineage/Graph/chart.spec.ts:3355253644": [ + [119, 27, -3460, "Parsing error: Expression expected.", "5381"] + ], + "js/components/Lineage/Graph/chart.ts:1421618372": [ + [124, 3, -3093, "Parsing error: Expression expected.", "5381"] + ], "js/components/OwnerEditor/index.spec.tsx:3522945449": [ [11, 0, 41, "\`./constants\` import should occur before import of \`.\`", "1965203596"] ], @@ -145,6 +131,9 @@ exports[`eslint`] = { [47, 6, 13, "Do not use setState in componentDidUpdate", "57229240"], [62, 26, 19, "Must use destructuring props assignment", "99931018"] ], + "js/components/ResourceList/ResourceListHeader/index.tsx:1694962536": [ + [61, 14, -1509, "Parsing error: Expression expected.", "5381"] + ], "js/components/ResourceList/index.spec.tsx:3167200992": [ [10, 0, 41, "\`./constants\` import should occur before import of \`.\`", "2587521996"], [13, 8, 11, "\'setStateSpy\' is assigned a value but never used.", "2570905866"], @@ -172,6 +161,9 @@ exports[`eslint`] = { [45, 6, 25, "Use object destructuring.", "354229464"], [46, 6, 29, "Use object destructuring.", "2645724888"] ], + "js/components/ResourceListItem/FeatureListItem/index.tsx:2419398205": [ + [33, 24, -1051, "Parsing error: Expression expected.", "5381"] + ], "js/components/ResourceListItem/SchemaInfo/tests/index.spec.tsx:3506535360": [ [34, 6, 25, "Use object destructuring.", "354229464"], [35, 6, 29, "Use object destructuring.", "2645724888"] @@ -388,9 +380,12 @@ exports[`eslint`] = { "js/components/Tags/index.tsx:3468508233": [ [38, 4, 21, "Must use destructuring props assignment", "4236634811"] ], - "js/config/config-default.ts:429062513": [ - [366, 6, 21, "\'partitionKey\' is defined but never used.", "399589312"], - [367, 6, 23, "\'partitionValue\' is defined but never used.", "793372348"] + "js/config/config-default.ts:2446070824": [ + [378, 6, 21, "\'partitionKey\' is defined but never used.", "399589312"], + [379, 6, 23, "\'partitionValue\' is defined but never used.", "793372348"] + ], + "js/config/config-utils.ts:1455911149": [ + [170, 4, -4927, "Parsing error: Expression expected.", "5381"] ], "js/ducks/announcements/index.spec.ts:1898496537": [ [3, 0, 148, "\`.\` import should occur after import of \`./types\`", "4154971894"] @@ -407,8 +402,7 @@ exports[`eslint`] = { [121, 61, 4, "\'data\' is defined but never used.", "2087377941"] ], "js/ducks/bookmark/index.spec.ts:237544541": [ - [99, 14, 7, "\'payload\' is assigned a value but never used.", "2531329355"], - [119, 14, 7, "\'payload\' is assigned a value but never used.", "2531329355"] + [89, 20, -2545, "Parsing error: Expression expected.", "5381"] ], "js/ducks/bookmark/sagas.ts:2649953115": [ [20, 2, 19, "\'GetBookmarksRequest\' is defined but never used.", "2458762509"], @@ -420,12 +414,21 @@ exports[`eslint`] = { "js/ducks/dashboard/api/v0.ts:2755958463": [ [38, 28, 104, "Do not nest ternary expressions.", "1163212497"] ], + "js/ducks/feature/api/v0.ts:562771767": [ + [39, 41, -1124, "Parsing error: Expression expected.", "5381"] + ], "js/ducks/issue/reducer.ts:2750523607": [ [141, 6, 56, "Unexpected lexical declaration in case block.", "2031834906"] ], "js/ducks/lastIndexed/sagas.ts:1498244597": [ [7, 2, 29, "\'action\' is defined but never used.", "566797395"] ], + "js/ducks/lastIndexed/tests/index.spec.ts:780132651": [ + [37, 20, -1124, "Parsing error: Expression expected.", "5381"] + ], + "js/ducks/lineage/api/v0.ts:1039016116": [ + [22, 33, -730, "Parsing error: Expression expected.", "5381"] + ], "js/ducks/middlewares/analyticsMiddleware.ts:3943673455": [ [11, 7, 8, "\'getState\' is defined but never used.", "1919118020"] ], @@ -433,6 +436,9 @@ exports[`eslint`] = { [111, 6, 191, "Unexpected lexical declaration in case block.", "1433271452"], [117, 6, 59, "Unexpected lexical declaration in case block.", "3993269111"] ], + "js/ducks/search/filters/reducer.ts:2633448544": [ + [56, 6, -1375, "Parsing error: Expression expected.", "5381"] + ], "js/ducks/search/reducer.ts:2899240346": [ [309, 6, 27, "Unexpected lexical declaration in case block.", "3336779920"], [363, 6, 53, "Unexpected lexical declaration in case block.", "2684420572"], @@ -444,8 +450,10 @@ exports[`eslint`] = { [331, 6, 31, "Use object destructuring.", "3735531535"] ], "js/ducks/search/utils.ts:1659041818": [ - [19, 2, 8, "Assignment to function parameter \'resource\'.", "2131237679"], - [20, 2, 248, "Expected a default case.", "1034339850"] + [22, 25, -884, "Parsing error: Expression expected.", "5381"] + ], + "js/ducks/tableMetadata/api/helpers.ts:1241535128": [ + [108, 24, -2851, "Parsing error: Expression expected.", "5381"] ], "js/ducks/tableMetadata/api/v0.ts:4044823741": [ [80, 8, 23, "Use object destructuring.", "1142306891"], @@ -464,6 +472,12 @@ exports[`eslint`] = { "js/ducks/tags/api/v0.ts:2781466514": [ [21, 16, -605, "Expected to return a value at the end of function \'getResourceTags\'.", "5381"] ], + "js/ducks/tags/reducer.ts:90633699": [ + [131, 64, -2942, "Parsing error: Expression expected.", "5381"] + ], + "js/ducks/user/index.spec.ts:2667931579": [ + [65, 20, -1721, "Parsing error: Expression expected.", "5381"] + ], "js/features/BadgeList/index.tsx:857288200": [ [3, 12, 5, "\'React\' is defined but never used.", "229961444"] ], @@ -477,14 +491,7 @@ exports[`eslint`] = { [123, 16, 20, "Must use destructuring state assignment", "2976153148"] ], "js/features/ColumnList/ColumnType/parser.ts:4274243564": [ - [58, 6, 10, "Assignment to function parameter \'startIndex\'.", "3807744539"], - [59, 6, 12, "Assignment to function parameter \'currentIndex\'.", "2078922066"], - [81, 10, 12, "Assignment to function parameter \'currentIndex\'.", "2078922066"], - [83, 8, 12, "Assignment to function parameter \'currentIndex\'.", "2078922066"], - [126, 8, 10, "Assignment to function parameter \'startIndex\'.", "3807744539"], - [127, 8, 12, "Assignment to function parameter \'currentIndex\'.", "2078922066"], - [130, 6, 12, "Assignment to function parameter \'currentIndex\'.", "2078922066"], - [171, 4, 10, "Assignment to function parameter \'columnType\'.", "460876587"] + [104, 32, -3441, "Parsing error: Expression expected.", "5381"] ], "js/features/ColumnList/index.tsx:4269963749": [ [219, 2, 871, "Arrow function expected no return value.", "1083254797"] @@ -538,6 +545,9 @@ exports[`eslint`] = { [45, 8, 22, "Must use destructuring props assignment", "1925601400"], [49, 12, 22, "Must use destructuring props assignment", "1925601400"] ], + "js/features/PreviewData/index.spec.tsx:3258648149": [ + [115, 49, -3529, "Parsing error: Expression expected.", "5381"] + ], "js/pages/DashboardPage/ChartList/index.spec.tsx:876473578": [ [21, 14, 5, "\'props\' is assigned a value but never used.", "187023499"] ], @@ -578,6 +588,9 @@ exports[`eslint`] = { "js/pages/DashboardPage/index.tsx:3925966750": [ [130, 6, 13, "Do not use setState in componentDidUpdate", "57229240"] ], + "js/pages/FeaturePage/GenerationCode/index.tsx:1153209974": [ + [37, 18, -1175, "Parsing error: Expression expected.", "5381"] + ], "js/pages/HomePage/index.spec.tsx:2731110878": [ [33, 4, 25, "Use object destructuring.", "354229464"], [34, 4, 29, "Use object destructuring.", "2645724888"] @@ -634,8 +647,8 @@ exports[`eslint`] = { [199, 21, 20, "Must use destructuring state assignment", "2976153148"], [201, 26, 21, "Must use destructuring props assignment", "2163940102"] ], - "js/pages/TableDetailPage/ExploreButton/index.tsx:1031745331": [ - [13, 0, 454, "Component should be written as a pure function", "1437366564"], + "js/pages/TableDetailPage/ExploreButton/index.tsx:875794805": [ + [13, 0, 458, "Component should be written as a pure function", "2665503074"], [15, 35, 20, "Must use destructuring props assignment", "2510284131"] ], "js/pages/TableDetailPage/FrequentUsers/index.tsx:14585253": [ @@ -645,8 +658,7 @@ exports[`eslint`] = { [174, 14, 34, "Use array destructuring.", "2024515814"] ], "js/pages/TableDetailPage/ListSortingDropdown/index.tsx:3178023015": [ - [62, 25, 1, "\'_\' is defined but never used.", "177658"], - [65, 14, 204, "A control must be associated with a text label.", "3622841199"] + [27, 13, -752, "Parsing error: Expression expected.", "5381"] ], "js/pages/TableDetailPage/ReportTableIssue/index.tsx:2627382373": [ [168, 15, 20, "Script URL is a form of eval.", "3959800777"], @@ -680,6 +692,9 @@ exports[`eslint`] = { [208, 14, 151, "A control must be associated with a text label.", "1015004405"], [218, 12, 432, "A control must be associated with a text label.", "534436217"] ], + "js/pages/TableDetailPage/SourceLink/index.spec.tsx:3686659452": [ + [45, 40, -1293, "Parsing error: Expression expected.", "5381"] + ], "js/pages/TableDetailPage/TableHeaderBullets/index.spec.tsx:3978961134": [ [91, 6, 25, "Use object destructuring.", "354229464"], [92, 6, 29, "Use object destructuring.", "2645724888"] From 74a064e9b4d2198e04e7d2e2f7f0b38ed1f055c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Perell=C3=B3=20Garc=C3=ADa?= Date: Tue, 3 May 2022 13:55:20 +0200 Subject: [PATCH 13/15] Update betterer --- .../static/.betterer.results | 99 ++++++++----------- 1 file changed, 42 insertions(+), 57 deletions(-) diff --git a/frontend/amundsen_application/static/.betterer.results b/frontend/amundsen_application/static/.betterer.results index 347c15eb4a..96614a8a18 100644 --- a/frontend/amundsen_application/static/.betterer.results +++ b/frontend/amundsen_application/static/.betterer.results @@ -1,9 +1,6 @@ // BETTERER RESULTS V2. exports[`eslint`] = { value: `{ - "js/components/Announcements/AnnouncementsList/index.spec.tsx:4181793549": [ - [100, 42, -2670, "Parsing error: Expression expected.", "5381"] - ], "js/components/Announcements/index.spec.tsx:2594822054": [ [3, 12, 5, "\'React\' is defined but never used.", "229961444"], [5, 9, 7, "\'shallow\' is defined but never used.", "3030293799"], @@ -51,9 +48,6 @@ exports[`eslint`] = { [44, 6, 99, "Static HTML elements with event handlers require a role.", "2951945087"], [45, 17, 24, "Must use destructuring props assignment", "2874142076"] ], - "js/components/Card/index.spec.tsx:396628982": [ - [164, 42, -4740, "Parsing error: Expression expected.", "5381"] - ], "js/components/EditableSection/index.spec.tsx:4161767008": [ [30, 23, 5, "\'props\' is assigned a value but never used.", "187023499"], [39, 21, 5, "\'props\' is assigned a value but never used.", "187023499"], @@ -72,10 +66,36 @@ exports[`eslint`] = { [126, 10, 137, "Visible, non-interactive elements with click handlers must have at least one keyboard listener.", "3965651236"] ], "js/components/EditableText/index.tsx:2818784014": [ - [89, 26, -2066, "Parsing error: Expression expected.", "5381"] + [50, 2, 21, "textAreaRef should be placed after componentDidUpdate", "3072052035"], + [71, 6, 13, "Do not use setState in componentDidUpdate", "57229240"], + [79, 10, 25, "Must use destructuring props assignment", "793704523"], + [80, 8, 25, "Must use destructuring props assignment", "793704523"], + [82, 32, 16, "Must use destructuring state assignment", "3998965439"], + [82, 53, 21, "Must use destructuring state assignment", "1159122654"], + [84, 6, 13, "Do not use setState in componentDidUpdate", "57229240"], + [89, 4, 22, "Must use destructuring props assignment", "2225424112"], + [93, 4, 22, "Must use destructuring props assignment", "2225424112"], + [97, 27, 23, "Must use destructuring props assignment", "2982501243"], + [100, 23, 23, "Must use destructuring props assignment", "2982501243"], + [108, 6, 22, "Must use destructuring props assignment", "2225424112"], + [115, 4, 24, "Must use destructuring props assignment", "3049746099"], + [131, 19, 20, "Script URL is a form of eval.", "3373049033"], + [143, 8, 207, "A control must be associated with a text label.", "2914986446"] ], "js/components/EntityCard/EntityCardSection/index.tsx:474926744": [ - [41, 27, -960, "Parsing error: Expression expected.", "5381"] + [25, 2, 55, "editButton should be placed after constructor", "2479426463"], + [38, 8, 21, "Must use destructuring props assignment", "2809154561"], + [39, 33, 19, "Must use destructuring state assignment", "2871981746"], + [39, 33, 10, "Use callback in setState when referencing the previous state.", "4014904506"], + [45, 30, 19, "Must use destructuring state assignment", "2871981746"], + [52, 13, 16, "Must use destructuring props assignment", "1935972237"], + [53, 13, 19, "Must use destructuring props assignment", "3530841662"], + [55, 26, 19, "Must use destructuring props assignment", "3530841662"], + [60, 13, 21, "Must use destructuring props assignment", "2809154561"], + [61, 14, 163, "Missing an explicit type attribute for button", "3973564347"], + [61, 14, 163, "A control must be associated with a text label.", "3973564347"], + [70, 11, 26, "Must use destructuring props assignment", "2617170041"], + [70, 38, 19, "Must use destructuring state assignment", "2871981746"] ], "js/components/EntityCard/index.spec.tsx:4051356684": [ [8, 0, 52, "\`./EntityCardSection\` import should occur before import of \`.\`", "1030164788"] @@ -87,12 +107,6 @@ exports[`eslint`] = { "js/components/Inputs/CheckBoxItem/index.tsx:360935175": [ [26, 6, 163, "A control must be associated with a text label.", "3374264857"] ], - "js/components/Lineage/Graph/chart.spec.ts:3355253644": [ - [119, 27, -3460, "Parsing error: Expression expected.", "5381"] - ], - "js/components/Lineage/Graph/chart.ts:1421618372": [ - [124, 3, -3093, "Parsing error: Expression expected.", "5381"] - ], "js/components/OwnerEditor/index.spec.tsx:3522945449": [ [11, 0, 41, "\`./constants\` import should occur before import of \`.\`", "1965203596"] ], @@ -131,9 +145,6 @@ exports[`eslint`] = { [47, 6, 13, "Do not use setState in componentDidUpdate", "57229240"], [62, 26, 19, "Must use destructuring props assignment", "99931018"] ], - "js/components/ResourceList/ResourceListHeader/index.tsx:1694962536": [ - [61, 14, -1509, "Parsing error: Expression expected.", "5381"] - ], "js/components/ResourceList/index.spec.tsx:3167200992": [ [10, 0, 41, "\`./constants\` import should occur before import of \`.\`", "2587521996"], [13, 8, 11, "\'setStateSpy\' is assigned a value but never used.", "2570905866"], @@ -161,9 +172,6 @@ exports[`eslint`] = { [45, 6, 25, "Use object destructuring.", "354229464"], [46, 6, 29, "Use object destructuring.", "2645724888"] ], - "js/components/ResourceListItem/FeatureListItem/index.tsx:2419398205": [ - [33, 24, -1051, "Parsing error: Expression expected.", "5381"] - ], "js/components/ResourceListItem/SchemaInfo/tests/index.spec.tsx:3506535360": [ [34, 6, 25, "Use object destructuring.", "354229464"], [35, 6, 29, "Use object destructuring.", "2645724888"] @@ -384,9 +392,6 @@ exports[`eslint`] = { [378, 6, 21, "\'partitionKey\' is defined but never used.", "399589312"], [379, 6, 23, "\'partitionValue\' is defined but never used.", "793372348"] ], - "js/config/config-utils.ts:1455911149": [ - [170, 4, -4927, "Parsing error: Expression expected.", "5381"] - ], "js/ducks/announcements/index.spec.ts:1898496537": [ [3, 0, 148, "\`.\` import should occur after import of \`./types\`", "4154971894"] ], @@ -402,7 +407,8 @@ exports[`eslint`] = { [121, 61, 4, "\'data\' is defined but never used.", "2087377941"] ], "js/ducks/bookmark/index.spec.ts:237544541": [ - [89, 20, -2545, "Parsing error: Expression expected.", "5381"] + [99, 14, 7, "\'payload\' is assigned a value but never used.", "2531329355"], + [119, 14, 7, "\'payload\' is assigned a value but never used.", "2531329355"] ], "js/ducks/bookmark/sagas.ts:2649953115": [ [20, 2, 19, "\'GetBookmarksRequest\' is defined but never used.", "2458762509"], @@ -414,21 +420,12 @@ exports[`eslint`] = { "js/ducks/dashboard/api/v0.ts:2755958463": [ [38, 28, 104, "Do not nest ternary expressions.", "1163212497"] ], - "js/ducks/feature/api/v0.ts:562771767": [ - [39, 41, -1124, "Parsing error: Expression expected.", "5381"] - ], "js/ducks/issue/reducer.ts:2750523607": [ [141, 6, 56, "Unexpected lexical declaration in case block.", "2031834906"] ], "js/ducks/lastIndexed/sagas.ts:1498244597": [ [7, 2, 29, "\'action\' is defined but never used.", "566797395"] ], - "js/ducks/lastIndexed/tests/index.spec.ts:780132651": [ - [37, 20, -1124, "Parsing error: Expression expected.", "5381"] - ], - "js/ducks/lineage/api/v0.ts:1039016116": [ - [22, 33, -730, "Parsing error: Expression expected.", "5381"] - ], "js/ducks/middlewares/analyticsMiddleware.ts:3943673455": [ [11, 7, 8, "\'getState\' is defined but never used.", "1919118020"] ], @@ -436,9 +433,6 @@ exports[`eslint`] = { [111, 6, 191, "Unexpected lexical declaration in case block.", "1433271452"], [117, 6, 59, "Unexpected lexical declaration in case block.", "3993269111"] ], - "js/ducks/search/filters/reducer.ts:2633448544": [ - [56, 6, -1375, "Parsing error: Expression expected.", "5381"] - ], "js/ducks/search/reducer.ts:2899240346": [ [309, 6, 27, "Unexpected lexical declaration in case block.", "3336779920"], [363, 6, 53, "Unexpected lexical declaration in case block.", "2684420572"], @@ -450,10 +444,8 @@ exports[`eslint`] = { [331, 6, 31, "Use object destructuring.", "3735531535"] ], "js/ducks/search/utils.ts:1659041818": [ - [22, 25, -884, "Parsing error: Expression expected.", "5381"] - ], - "js/ducks/tableMetadata/api/helpers.ts:1241535128": [ - [108, 24, -2851, "Parsing error: Expression expected.", "5381"] + [19, 2, 8, "Assignment to function parameter \'resource\'.", "2131237679"], + [20, 2, 248, "Expected a default case.", "1034339850"] ], "js/ducks/tableMetadata/api/v0.ts:4044823741": [ [80, 8, 23, "Use object destructuring.", "1142306891"], @@ -472,12 +464,6 @@ exports[`eslint`] = { "js/ducks/tags/api/v0.ts:2781466514": [ [21, 16, -605, "Expected to return a value at the end of function \'getResourceTags\'.", "5381"] ], - "js/ducks/tags/reducer.ts:90633699": [ - [131, 64, -2942, "Parsing error: Expression expected.", "5381"] - ], - "js/ducks/user/index.spec.ts:2667931579": [ - [65, 20, -1721, "Parsing error: Expression expected.", "5381"] - ], "js/features/BadgeList/index.tsx:857288200": [ [3, 12, 5, "\'React\' is defined but never used.", "229961444"] ], @@ -491,7 +477,14 @@ exports[`eslint`] = { [123, 16, 20, "Must use destructuring state assignment", "2976153148"] ], "js/features/ColumnList/ColumnType/parser.ts:4274243564": [ - [104, 32, -3441, "Parsing error: Expression expected.", "5381"] + [58, 6, 10, "Assignment to function parameter \'startIndex\'.", "3807744539"], + [59, 6, 12, "Assignment to function parameter \'currentIndex\'.", "2078922066"], + [81, 10, 12, "Assignment to function parameter \'currentIndex\'.", "2078922066"], + [83, 8, 12, "Assignment to function parameter \'currentIndex\'.", "2078922066"], + [126, 8, 10, "Assignment to function parameter \'startIndex\'.", "3807744539"], + [127, 8, 12, "Assignment to function parameter \'currentIndex\'.", "2078922066"], + [130, 6, 12, "Assignment to function parameter \'currentIndex\'.", "2078922066"], + [171, 4, 10, "Assignment to function parameter \'columnType\'.", "460876587"] ], "js/features/ColumnList/index.tsx:4269963749": [ [219, 2, 871, "Arrow function expected no return value.", "1083254797"] @@ -545,9 +538,6 @@ exports[`eslint`] = { [45, 8, 22, "Must use destructuring props assignment", "1925601400"], [49, 12, 22, "Must use destructuring props assignment", "1925601400"] ], - "js/features/PreviewData/index.spec.tsx:3258648149": [ - [115, 49, -3529, "Parsing error: Expression expected.", "5381"] - ], "js/pages/DashboardPage/ChartList/index.spec.tsx:876473578": [ [21, 14, 5, "\'props\' is assigned a value but never used.", "187023499"] ], @@ -588,9 +578,6 @@ exports[`eslint`] = { "js/pages/DashboardPage/index.tsx:3925966750": [ [130, 6, 13, "Do not use setState in componentDidUpdate", "57229240"] ], - "js/pages/FeaturePage/GenerationCode/index.tsx:1153209974": [ - [37, 18, -1175, "Parsing error: Expression expected.", "5381"] - ], "js/pages/HomePage/index.spec.tsx:2731110878": [ [33, 4, 25, "Use object destructuring.", "354229464"], [34, 4, 29, "Use object destructuring.", "2645724888"] @@ -658,7 +645,8 @@ exports[`eslint`] = { [174, 14, 34, "Use array destructuring.", "2024515814"] ], "js/pages/TableDetailPage/ListSortingDropdown/index.tsx:3178023015": [ - [27, 13, -752, "Parsing error: Expression expected.", "5381"] + [62, 25, 1, "\'_\' is defined but never used.", "177658"], + [65, 14, 204, "A control must be associated with a text label.", "3622841199"] ], "js/pages/TableDetailPage/ReportTableIssue/index.tsx:2627382373": [ [168, 15, 20, "Script URL is a form of eval.", "3959800777"], @@ -692,9 +680,6 @@ exports[`eslint`] = { [208, 14, 151, "A control must be associated with a text label.", "1015004405"], [218, 12, 432, "A control must be associated with a text label.", "534436217"] ], - "js/pages/TableDetailPage/SourceLink/index.spec.tsx:3686659452": [ - [45, 40, -1293, "Parsing error: Expression expected.", "5381"] - ], "js/pages/TableDetailPage/TableHeaderBullets/index.spec.tsx:3978961134": [ [91, 6, 25, "Use object destructuring.", "354229464"], [92, 6, 29, "Use object destructuring.", "2645724888"] From 709de07baab159461356ebcac21594d619971494 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Perell=C3=B3=20Garc=C3=ADa?= Date: Tue, 3 May 2022 15:50:03 +0200 Subject: [PATCH 14/15] Adjust frontend tests to revolut date format and titles --- .../static/js/features/NavBar/index.spec.tsx | 3 +-- .../TableDetailPage/WatermarkLabel/index.spec.tsx | 6 +++--- .../static/js/utils/index.spec.ts | 12 ++++++------ 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/frontend/amundsen_application/static/js/features/NavBar/index.spec.tsx b/frontend/amundsen_application/static/js/features/NavBar/index.spec.tsx index 086b83a0f2..021fb54c41 100644 --- a/frontend/amundsen_application/static/js/features/NavBar/index.spec.tsx +++ b/frontend/amundsen_application/static/js/features/NavBar/index.spec.tsx @@ -144,12 +144,11 @@ describe('NavBar', () => { }); it('renders homepage Link with correct text', () => { - const expected = 'test'; + const expected = null; const actual = wrapper .find('#nav-bar-left') .find(Link) .find('.title-3') - .children() .text(); expect(actual).toEqual(expected); diff --git a/frontend/amundsen_application/static/js/pages/TableDetailPage/WatermarkLabel/index.spec.tsx b/frontend/amundsen_application/static/js/pages/TableDetailPage/WatermarkLabel/index.spec.tsx index 54948d8e9b..088dffb928 100644 --- a/frontend/amundsen_application/static/js/pages/TableDetailPage/WatermarkLabel/index.spec.tsx +++ b/frontend/amundsen_application/static/js/pages/TableDetailPage/WatermarkLabel/index.spec.tsx @@ -40,7 +40,7 @@ describe('WatermarkLabel', () => { const { wrapper } = setup(); const dateString = '2019-10-15'; const formattedDate = wrapper.instance().formatWatermarkDate(dateString); - expect(formattedDate).toBe('Oct 15, 2019'); + expect(formattedDate).toBe('15 Oct 2019'); }); }); @@ -90,8 +90,8 @@ describe('WatermarkLabel', () => { const startTime = watermark.find('.date-range-value').at(0).text(); const endTime = watermark.find('.date-range-value').at(1).text(); - expect(startTime).toBe('Aug 03, 2018'); - expect(endTime).toBe('Oct 15, 2019'); + expect(startTime).toBe('03 Aug 2018'); + expect(endTime).toBe('15 Oct 2019'); }); }); diff --git a/frontend/amundsen_application/static/js/utils/index.spec.ts b/frontend/amundsen_application/static/js/utils/index.spec.ts index ffb95f9af2..b01425727e 100644 --- a/frontend/amundsen_application/static/js/utils/index.spec.ts +++ b/frontend/amundsen_application/static/js/utils/index.spec.ts @@ -337,7 +337,7 @@ describe('dateUtils', () => { it('formats a date to the default format', () => { const config = { timestamp: 1580421964000 }; const dateString = DateUtils.formatDate(config); - expect(dateString).toEqual('Jan 30, 2020'); + expect(dateString).toEqual('30 Jan 2020'); }); }); @@ -346,14 +346,14 @@ describe('dateUtils', () => { const config = { timestamp: 1580421964000 }; const dateString = DateUtils.formatDateTimeShort(config); // This test may fail in your IDE if your timezone is not set to GMT - expect(dateString).toEqual('Jan 30, 2020 10pm GMT'); + expect(dateString).toEqual('30 Jan 2020 10pm GMT'); }); }); describe('formatDateTimeLong', () => { const config = { timestamp: 1580421964000 }; const dateString = DateUtils.formatDateTimeLong(config); - expect(dateString).toEqual('January 30th 2020 at 10:06:04 pm'); + expect(dateString).toEqual('30th January 2020 at 10:06:04 pm'); }); }); @@ -694,7 +694,7 @@ describe('stats utils', () => { it('generates correct info text for a daily partition', () => { const startEpoch = 1568160000; const endEpoch = 1568160000; - const expected = `Stats reflect data collected on Sep 11, 2019 only. (daily partition)`; + const expected = `Stats reflect data collected on 11 Sep 2019 only. (daily partition)`; const actual = StatUtils.getStatsInfoText(startEpoch, endEpoch); expect(actual).toEqual(expected); @@ -703,7 +703,7 @@ describe('stats utils', () => { it('generates correct info text for a date range', () => { const startEpoch = 1568160000; const endEpoch = 1571616000; - const expected = `Stats reflect data collected between Sep 11, 2019 and Oct 21, 2019.`; + const expected = `Stats reflect data collected between 11 Sep 2019 and 21 Oct 2019.`; const actual = StatUtils.getStatsInfoText(startEpoch, endEpoch); expect(actual).toEqual(expected); @@ -719,7 +719,7 @@ describe('stats utils', () => { it('generates correct info text when only endEpoch is given', () => { const startEpoch = 0; const endEpoch = 1571616000; - const expected = `Stats reflect data collected until Oct 21, 2019.`; + const expected = `Stats reflect data collected until 21 Oct 2019.`; const actual = StatUtils.getStatsInfoText(startEpoch, endEpoch); expect(actual).toEqual(expected); From 13715ceaf5dacea4efa10fa5b8690a95b5f60b3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Perell=C3=B3=20Garc=C3=ADa?= Date: Tue, 3 May 2022 15:57:03 +0200 Subject: [PATCH 15/15] Adjust frontend tests to revolut date format and titles --- .../static/js/features/NavBar/index.spec.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/amundsen_application/static/js/features/NavBar/index.spec.tsx b/frontend/amundsen_application/static/js/features/NavBar/index.spec.tsx index 021fb54c41..9059c446d4 100644 --- a/frontend/amundsen_application/static/js/features/NavBar/index.spec.tsx +++ b/frontend/amundsen_application/static/js/features/NavBar/index.spec.tsx @@ -144,7 +144,7 @@ describe('NavBar', () => { }); it('renders homepage Link with correct text', () => { - const expected = null; + const expected = ''; const actual = wrapper .find('#nav-bar-left') .find(Link)