From c58a52065812ed966be820448ae77778ae094112 Mon Sep 17 00:00:00 2001 From: Samuel Bodin <1637651+bodinsamuel@users.noreply.github.com> Date: Mon, 18 Sep 2023 17:27:24 +0200 Subject: [PATCH] fix(rules): add Azure MySQL --- src/rules/__snapshots__/index.test.ts.snap | 1 + src/rules/db/azure.mysql.ts | 18 ++++++++++++++++++ src/rules/db/index.ts | 1 + src/rules/db/mysql.ts | 3 ++- .../__snapshots__/component.test.ts.snap | 6 ++++++ .../__snapshots__/component.test.ts.snap | 11 +++++++++++ .../ruby/__snapshots__/lockfile.test.ts.snap | 6 ++++++ .../rust/__snapshots__/component.test.ts.snap | 6 ++++++ .../__snapshots__/resource.test.ts.snap | 1 + src/types/techs.ts | 1 + 10 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 src/rules/db/azure.mysql.ts diff --git a/src/rules/__snapshots__/index.test.ts.snap b/src/rules/__snapshots__/index.test.ts.snap index 500a4e16..67934398 100644 --- a/src/rules/__snapshots__/index.test.ts.snap +++ b/src/rules/__snapshots__/index.test.ts.snap @@ -67,6 +67,7 @@ exports[`all > should match everything 1`] = ` "azure.aks", "azure.ci", "azure.cosmosdb", + "azure.mysql", "azure.postgres", "azure.sql", "betterstack", diff --git a/src/rules/db/azure.mysql.ts b/src/rules/db/azure.mysql.ts new file mode 100644 index 00000000..8331921b --- /dev/null +++ b/src/rules/db/azure.mysql.ts @@ -0,0 +1,18 @@ +import { register } from '../../register.js'; + +register({ + tech: 'azure.mysql', + name: 'Azure MySQL', + type: 'db', + dependencies: [ + { + type: 'terraform.resource', + name: /^azurerm_mysql_/, + example: 'azurerm_mysql_database', + }, + { type: 'ruby', name: 'azure_mgmt_mysql' }, + { type: 'rust', name: 'azure_mgmt_mysql' }, + { type: 'npm', name: '@azure/arm-mysql' }, + { type: 'githubAction', name: 'azure/mysql' }, + ], +}); diff --git a/src/rules/db/index.ts b/src/rules/db/index.ts index 302f90f2..9d17cf06 100644 --- a/src/rules/db/index.ts +++ b/src/rules/db/index.ts @@ -15,6 +15,7 @@ import './aws.redshift.js'; import './aws.secretsmanager.js'; import './aws.timestream.js'; import './azure.cosmosdb.js'; +import './azure.mysql.js'; import './azure.postgres.js'; import './azure.sql.js'; import './clickhouse.js'; diff --git a/src/rules/db/mysql.ts b/src/rules/db/mysql.ts index ac72d88f..9c98964a 100644 --- a/src/rules/db/mysql.ts +++ b/src/rules/db/mysql.ts @@ -5,7 +5,8 @@ register({ name: 'Mysql', type: 'db', dependencies: [ - { type: 'npm', name: /mysql/, example: 'mysql' }, + { type: 'npm', name: 'mysql' }, + { type: 'npm', name: 'mysql2' }, { type: 'docker', name: /mysql/, example: 'mysql:0.0.0' }, { type: 'rust', name: /^mysql/, example: 'mysql_async' }, { type: 'ruby', name: 'ruby-mysql' }, diff --git a/src/rules/spec/githubActions/__snapshots__/component.test.ts.snap b/src/rules/spec/githubActions/__snapshots__/component.test.ts.snap index 5210c032..6a5e38ce 100644 --- a/src/rules/spec/githubActions/__snapshots__/component.test.ts.snap +++ b/src/rules/spec/githubActions/__snapshots__/component.test.ts.snap @@ -14,6 +14,7 @@ exports[`docker > should match all dependencies 1`] = ` "aws.lambda", "aws.s3", "azure", + "azure.mysql", "azure.postgres", "azure.sql", "cloudflare", @@ -239,6 +240,11 @@ exports[`docker > should match all dependencies 2`] = ` "azure/login", "1", ], + [ + "githubAction", + "azure/mysql", + "1", + ], [ "githubAction", "azure/postgresql", diff --git a/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap b/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap index d6de7f2e..d73c1be3 100644 --- a/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap +++ b/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap @@ -50,6 +50,7 @@ exports[`npm > should match everything 1`] = ` "aws.translate", "azure", "azure.cosmosdb", + "azure.mysql", "azure.postgres", "azure.sql", "betterstack", @@ -626,6 +627,11 @@ exports[`npm > should match everything 2`] = ` "@azure/arm-cosmosdb", "0.0.0", ], + [ + "npm", + "@azure/arm-mysql", + "0.0.0", + ], [ "npm", "@azure/arm-postgresql", @@ -1441,6 +1447,11 @@ exports[`npm > should match everything 2`] = ` "mysql", "0.0.0", ], + [ + "npm", + "mysql2", + "0.0.0", + ], [ "npm", "neo4j-driver", diff --git a/src/rules/spec/ruby/__snapshots__/lockfile.test.ts.snap b/src/rules/spec/ruby/__snapshots__/lockfile.test.ts.snap index 2df6ab65..bf9b80f0 100644 --- a/src/rules/spec/ruby/__snapshots__/lockfile.test.ts.snap +++ b/src/rules/spec/ruby/__snapshots__/lockfile.test.ts.snap @@ -45,6 +45,7 @@ exports[`ruby (component) > should match everything 1`] = ` "aws.translate", "azure", "azure.cosmosdb", + "azure.mysql", "azure.postgres", "azure.sql", "betterstack", @@ -366,6 +367,11 @@ exports[`ruby (component) > should match everything 2`] = ` "azure_mgmt_cosmosdb", "1.0.0", ], + [ + "ruby", + "azure_mgmt_mysql", + "1.0.0", + ], [ "ruby", "azure_mgmt_postgresql", diff --git a/src/rules/spec/rust/__snapshots__/component.test.ts.snap b/src/rules/spec/rust/__snapshots__/component.test.ts.snap index 27840992..815f8b5a 100644 --- a/src/rules/spec/rust/__snapshots__/component.test.ts.snap +++ b/src/rules/spec/rust/__snapshots__/component.test.ts.snap @@ -46,6 +46,7 @@ exports[`rust (component) > should match everything 1`] = ` "aws.translate", "azure", "azure.cosmosdb", + "azure.mysql", "azure.postgres", "azure.sql", "cloudflare", @@ -307,6 +308,11 @@ exports[`rust (component) > should match everything 2`] = ` "azure_mgmt_cosmosdb", "1.0.0", ], + [ + "rust", + "azure_mgmt_mysql", + "1.0.0", + ], [ "rust", "azure_mgmt_postgresql", diff --git a/src/rules/spec/terraform/__snapshots__/resource.test.ts.snap b/src/rules/spec/terraform/__snapshots__/resource.test.ts.snap index c0f66e63..8aa9f366 100644 --- a/src/rules/spec/terraform/__snapshots__/resource.test.ts.snap +++ b/src/rules/spec/terraform/__snapshots__/resource.test.ts.snap @@ -42,6 +42,7 @@ exports[`terraform (resource) > should match everything 1`] = ` "azure", "azure.aks", "azure.cosmosdb", + "azure.mysql", "azure.postgres", "azure.sql", "cloudflare", diff --git a/src/types/techs.ts b/src/types/techs.ts index 2d119569..7db69e02 100644 --- a/src/types/techs.ts +++ b/src/types/techs.ts @@ -79,6 +79,7 @@ export type AllowedKeys = | 'azure.aks' | 'azure.ci' | 'azure.cosmosdb' + | 'azure.mysql' | 'azure.postgres' | 'azure.sql' | 'azure'