@@ -1363,6 +1363,294 @@ func Test_composeToServiceValues(t *testing.T) {
13631363 want : nil ,
13641364 wantErr : true ,
13651365 },
1366+ {
1367+ name : "test26 - mariadb-shared to mariadb-dbaas" ,
1368+ args : args {
1369+ buildValues : & BuildValues {
1370+ Namespace : "example-project-main" ,
1371+ Project : "example-project" ,
1372+ ImageRegistry : "harbor.example" ,
1373+ Environment : "main" ,
1374+ Branch : "main" ,
1375+ BuildType : "branch" ,
1376+ EnvironmentType : "development" ,
1377+ ServiceTypeOverrides : & lagoon.EnvironmentVariable {},
1378+ LagoonYAML : lagoon.YAML {
1379+ Routes : lagoon.Routes {
1380+ Autogenerate : lagoon.Autogenerate {
1381+ Enabled : helpers .BoolPtr (true ),
1382+ AllowPullRequests : helpers .BoolPtr (false ),
1383+ },
1384+ },
1385+ Environments : lagoon.Environments {
1386+ "main" : lagoon.Environment {
1387+ AutogenerateRoutes : helpers .BoolPtr (true ),
1388+ },
1389+ },
1390+ },
1391+ },
1392+ composeService : "mariadb" ,
1393+ composeServiceValues : composetypes.ServiceConfig {
1394+ Labels : composetypes.Labels {
1395+ "lagoon.type" : "mariadb-shared" ,
1396+ },
1397+ Image : "uselagoon/fake-mariadb:latest" ,
1398+ },
1399+ },
1400+ want : & ServiceValues {
1401+ Name : "mariadb" ,
1402+ OverrideName : "mariadb" ,
1403+ Type : "mariadb-dbaas" ,
1404+ AutogeneratedRoutesEnabled : false ,
1405+ AutogeneratedRoutesTLSAcme : false ,
1406+ DBaaSEnvironment : "development" ,
1407+ InPodCronjobs : []lagoon.Cronjob {},
1408+ NativeCronjobs : []lagoon.Cronjob {},
1409+ IsDBaaS : true ,
1410+ BackupsEnabled : true ,
1411+ },
1412+ },
1413+ {
1414+ name : "test27 - postgres-shared to postgres-dbaas" ,
1415+ args : args {
1416+ buildValues : & BuildValues {
1417+ Namespace : "example-project-main" ,
1418+ Project : "example-project" ,
1419+ ImageRegistry : "harbor.example" ,
1420+ Environment : "main" ,
1421+ Branch : "main" ,
1422+ BuildType : "branch" ,
1423+ EnvironmentType : "development" ,
1424+ ServiceTypeOverrides : & lagoon.EnvironmentVariable {},
1425+ LagoonYAML : lagoon.YAML {
1426+ Routes : lagoon.Routes {
1427+ Autogenerate : lagoon.Autogenerate {
1428+ Enabled : helpers .BoolPtr (true ),
1429+ AllowPullRequests : helpers .BoolPtr (false ),
1430+ },
1431+ },
1432+ Environments : lagoon.Environments {
1433+ "main" : lagoon.Environment {
1434+ AutogenerateRoutes : helpers .BoolPtr (true ),
1435+ },
1436+ },
1437+ },
1438+ },
1439+ composeService : "postgres" ,
1440+ composeServiceValues : composetypes.ServiceConfig {
1441+ Labels : composetypes.Labels {
1442+ "lagoon.type" : "postgres-shared" ,
1443+ },
1444+ Image : "uselagoon/fake-postgres:latest" ,
1445+ },
1446+ },
1447+ want : & ServiceValues {
1448+ Name : "postgres" ,
1449+ OverrideName : "postgres" ,
1450+ Type : "postgres-dbaas" ,
1451+ AutogeneratedRoutesEnabled : false ,
1452+ AutogeneratedRoutesTLSAcme : false ,
1453+ DBaaSEnvironment : "development" ,
1454+ InPodCronjobs : []lagoon.Cronjob {},
1455+ NativeCronjobs : []lagoon.Cronjob {},
1456+ IsDBaaS : true ,
1457+ BackupsEnabled : true ,
1458+ },
1459+ },
1460+ {
1461+ name : "test28 - mongo to mongodb-dbaas" ,
1462+ args : args {
1463+ buildValues : & BuildValues {
1464+ Namespace : "example-project-main" ,
1465+ Project : "example-project" ,
1466+ ImageRegistry : "harbor.example" ,
1467+ Environment : "main" ,
1468+ Branch : "main" ,
1469+ BuildType : "branch" ,
1470+ EnvironmentType : "development" ,
1471+ ServiceTypeOverrides : & lagoon.EnvironmentVariable {},
1472+ LagoonYAML : lagoon.YAML {
1473+ Routes : lagoon.Routes {
1474+ Autogenerate : lagoon.Autogenerate {
1475+ Enabled : helpers .BoolPtr (true ),
1476+ AllowPullRequests : helpers .BoolPtr (false ),
1477+ },
1478+ },
1479+ Environments : lagoon.Environments {
1480+ "main" : lagoon.Environment {
1481+ AutogenerateRoutes : helpers .BoolPtr (true ),
1482+ },
1483+ },
1484+ },
1485+ },
1486+ composeService : "mongo" ,
1487+ composeServiceValues : composetypes.ServiceConfig {
1488+ Labels : composetypes.Labels {
1489+ "lagoon.type" : "mongo" ,
1490+ },
1491+ Image : "uselagoon/fake-mongo:latest" ,
1492+ },
1493+ },
1494+ want : & ServiceValues {
1495+ Name : "mongo" ,
1496+ OverrideName : "mongo" ,
1497+ Type : "mongodb-dbaas" ,
1498+ AutogeneratedRoutesEnabled : false ,
1499+ AutogeneratedRoutesTLSAcme : false ,
1500+ DBaaSEnvironment : "development" ,
1501+ InPodCronjobs : []lagoon.Cronjob {},
1502+ NativeCronjobs : []lagoon.Cronjob {},
1503+ IsDBaaS : true ,
1504+ BackupsEnabled : true ,
1505+ },
1506+ },
1507+ {
1508+ name : "test29 - mongo-single to mongodb-single" ,
1509+ args : args {
1510+ buildValues : & BuildValues {
1511+ Namespace : "example-project-main" ,
1512+ Project : "example-project" ,
1513+ ImageRegistry : "harbor.example" ,
1514+ Environment : "main" ,
1515+ Branch : "main" ,
1516+ BuildType : "branch" ,
1517+ EnvironmentType : "development" ,
1518+ ServiceTypeOverrides : & lagoon.EnvironmentVariable {},
1519+ LagoonYAML : lagoon.YAML {
1520+ Routes : lagoon.Routes {
1521+ Autogenerate : lagoon.Autogenerate {
1522+ Enabled : helpers .BoolPtr (true ),
1523+ AllowPullRequests : helpers .BoolPtr (false ),
1524+ },
1525+ },
1526+ Environments : lagoon.Environments {
1527+ "main" : lagoon.Environment {
1528+ AutogenerateRoutes : helpers .BoolPtr (true ),
1529+ },
1530+ },
1531+ },
1532+ },
1533+ composeService : "mongo" ,
1534+ composeServiceValues : composetypes.ServiceConfig {
1535+ Labels : composetypes.Labels {
1536+ "lagoon.type" : "mongo-single" ,
1537+ },
1538+ Image : "uselagoon/fake-mongo:latest" ,
1539+ },
1540+ },
1541+ want : & ServiceValues {
1542+ Name : "mongo" ,
1543+ OverrideName : "mongo" ,
1544+ Type : "mongodb-single" ,
1545+ AutogeneratedRoutesEnabled : false ,
1546+ AutogeneratedRoutesTLSAcme : false ,
1547+ PersistentVolumePath : "/data/db" ,
1548+ PersistentVolumeName : "mongo" ,
1549+ PersistentVolumeSize : "5Gi" ,
1550+ DBaaSEnvironment : "development" ,
1551+ InPodCronjobs : []lagoon.Cronjob {},
1552+ NativeCronjobs : []lagoon.Cronjob {},
1553+ ImageBuild : & ImageBuild {
1554+ PullImage : "uselagoon/fake-mongo:latest" ,
1555+ BuildImage : "harbor.example/example-project/main/mongo:latest" ,
1556+ },
1557+ BackupsEnabled : true ,
1558+ },
1559+ },
1560+ {
1561+ name : "test30 - mongo-dbaas to mongodb-dbaas" ,
1562+ args : args {
1563+ buildValues : & BuildValues {
1564+ Namespace : "example-project-main" ,
1565+ Project : "example-project" ,
1566+ ImageRegistry : "harbor.example" ,
1567+ Environment : "main" ,
1568+ Branch : "main" ,
1569+ BuildType : "branch" ,
1570+ EnvironmentType : "development" ,
1571+ ServiceTypeOverrides : & lagoon.EnvironmentVariable {},
1572+ LagoonYAML : lagoon.YAML {
1573+ Routes : lagoon.Routes {
1574+ Autogenerate : lagoon.Autogenerate {
1575+ Enabled : helpers .BoolPtr (true ),
1576+ AllowPullRequests : helpers .BoolPtr (false ),
1577+ },
1578+ },
1579+ Environments : lagoon.Environments {
1580+ "main" : lagoon.Environment {
1581+ AutogenerateRoutes : helpers .BoolPtr (true ),
1582+ },
1583+ },
1584+ },
1585+ },
1586+ composeService : "mongo" ,
1587+ composeServiceValues : composetypes.ServiceConfig {
1588+ Labels : composetypes.Labels {
1589+ "lagoon.type" : "mongo-dbaas" ,
1590+ },
1591+ Image : "uselagoon/fake-mongo:latest" ,
1592+ },
1593+ },
1594+ want : & ServiceValues {
1595+ Name : "mongo" ,
1596+ OverrideName : "mongo" ,
1597+ Type : "mongodb-dbaas" ,
1598+ AutogeneratedRoutesEnabled : false ,
1599+ AutogeneratedRoutesTLSAcme : false ,
1600+ DBaaSEnvironment : "development" ,
1601+ InPodCronjobs : []lagoon.Cronjob {},
1602+ NativeCronjobs : []lagoon.Cronjob {},
1603+ IsDBaaS : true ,
1604+ BackupsEnabled : true ,
1605+ },
1606+ },
1607+ {
1608+ name : "test31 - mongo-shared to mongodb-dbaas" ,
1609+ args : args {
1610+ buildValues : & BuildValues {
1611+ Namespace : "example-project-main" ,
1612+ Project : "example-project" ,
1613+ ImageRegistry : "harbor.example" ,
1614+ Environment : "main" ,
1615+ Branch : "main" ,
1616+ BuildType : "branch" ,
1617+ EnvironmentType : "development" ,
1618+ ServiceTypeOverrides : & lagoon.EnvironmentVariable {},
1619+ LagoonYAML : lagoon.YAML {
1620+ Routes : lagoon.Routes {
1621+ Autogenerate : lagoon.Autogenerate {
1622+ Enabled : helpers .BoolPtr (true ),
1623+ AllowPullRequests : helpers .BoolPtr (false ),
1624+ },
1625+ },
1626+ Environments : lagoon.Environments {
1627+ "main" : lagoon.Environment {
1628+ AutogenerateRoutes : helpers .BoolPtr (true ),
1629+ },
1630+ },
1631+ },
1632+ },
1633+ composeService : "mongo" ,
1634+ composeServiceValues : composetypes.ServiceConfig {
1635+ Labels : composetypes.Labels {
1636+ "lagoon.type" : "mongo-shared" ,
1637+ },
1638+ Image : "uselagoon/fake-mongo:latest" ,
1639+ },
1640+ },
1641+ want : & ServiceValues {
1642+ Name : "mongo" ,
1643+ OverrideName : "mongo" ,
1644+ Type : "mongodb-dbaas" ,
1645+ AutogeneratedRoutesEnabled : false ,
1646+ AutogeneratedRoutesTLSAcme : false ,
1647+ DBaaSEnvironment : "development" ,
1648+ InPodCronjobs : []lagoon.Cronjob {},
1649+ NativeCronjobs : []lagoon.Cronjob {},
1650+ IsDBaaS : true ,
1651+ BackupsEnabled : true ,
1652+ },
1653+ },
13661654 }
13671655 for _ , tt := range tests {
13681656 t .Run (tt .name , func (t * testing.T ) {
0 commit comments