@@ -76,6 +76,47 @@ func TestInstallationDBSecret_ToK8sSecret(t *testing.T) {
7676 },
7777 },
7878 },
79+ {
80+ description : "MySQL secret with datasource URL" ,
81+ installationSecret : InstallationDBSecret {
82+ InstallationSecretName : "mysql-secret" ,
83+ ConnectionString : "mysql://user:pass@tcp(db.example.com:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s&tls=skip-verify" ,
84+ DBCheckURL : "http://db.example.com:3306" ,
85+ ReadReplicasURL : "user:pass@tcp(db-ro.example.com:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s&tls=skip-verify" ,
86+ DataSourceURL : "user:pass@tcp(db.example.com:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s&tls=skip-verify" ,
87+ },
88+ disableDBCheck : false ,
89+ expectedSecret : & corev1.Secret {
90+ ObjectMeta : metav1.ObjectMeta {
91+ Name : "mysql-secret" ,
92+ },
93+ StringData : map [string ]string {
94+ "DB_CONNECTION_STRING" : "mysql://user:pass@tcp(db.example.com:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s&tls=skip-verify" ,
95+ "MM_SQLSETTINGS_DATASOURCEREPLICAS" : "user:pass@tcp(db-ro.example.com:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s&tls=skip-verify" ,
96+ "DB_CONNECTION_CHECK_URL" : "http://db.example.com:3306" ,
97+ "MM_SQLSETTINGS_DATASOURCE" : "user:pass@tcp(db.example.com:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s&tls=skip-verify" ,
98+ },
99+ },
100+ },
101+ {
102+ description : "MySQL secret without datasource URL" ,
103+ installationSecret : InstallationDBSecret {
104+ InstallationSecretName : "mysql-secret-no-datasource" ,
105+ ConnectionString : "mysql://user:pass@tcp(db.example.com:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s&tls=skip-verify" ,
106+ ReadReplicasURL : "user:pass@tcp(db-ro.example.com:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s&tls=skip-verify" ,
107+ DataSourceURL : "" , // Empty datasource URL
108+ },
109+ disableDBCheck : false ,
110+ expectedSecret : & corev1.Secret {
111+ ObjectMeta : metav1.ObjectMeta {
112+ Name : "mysql-secret-no-datasource" ,
113+ },
114+ StringData : map [string ]string {
115+ "DB_CONNECTION_STRING" : "mysql://user:pass@tcp(db.example.com:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s&tls=skip-verify" ,
116+ "MM_SQLSETTINGS_DATASOURCEREPLICAS" : "user:pass@tcp(db-ro.example.com:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s&tls=skip-verify" ,
117+ },
118+ },
119+ },
79120 } {
80121 t .Run (testCase .description , func (t * testing.T ) {
81122 k8sSecret := testCase .installationSecret .ToK8sSecret (testCase .disableDBCheck )
0 commit comments