createTestMySQLDatabase creates a test MySQL database instance and database
(ctx context.Context, t *testing.T)
| 571 | |
| 572 | // createTestMySQLDatabase creates a test MySQL database instance and database |
| 573 | func (ctl *controller) createTestMySQLDatabase(ctx context.Context, t *testing.T) (*v1pb.Database, *Container) { |
| 574 | a := require.New(t) |
| 575 | |
| 576 | // Get MySQL container |
| 577 | mysqlContainer, err := getMySQLContainer(ctx) |
| 578 | a.NoError(err) |
| 579 | |
| 580 | // Create MySQL instance |
| 581 | instanceResp, err := ctl.instanceServiceClient.CreateInstance(ctx, connect.NewRequest(&v1pb.CreateInstanceRequest{ |
| 582 | InstanceId: generateRandomString("inst")[:8], |
| 583 | Instance: &v1pb.Instance{ |
| 584 | Title: "Test MySQL Instance", |
| 585 | Engine: v1pb.Engine_MYSQL, |
| 586 | Environment: new("environments/prod"), |
| 587 | Activation: true, |
| 588 | DataSources: []*v1pb.DataSource{{ |
| 589 | Type: v1pb.DataSourceType_ADMIN, |
| 590 | Host: mysqlContainer.host, |
| 591 | Port: mysqlContainer.port, |
| 592 | Username: "root", |
| 593 | Password: "root-password", |
| 594 | Id: "admin", |
| 595 | }}, |
| 596 | }, |
| 597 | })) |
| 598 | a.NoError(err) |
| 599 | |
| 600 | // Create database |
| 601 | dbName := generateRandomString("db")[:8] |
| 602 | err = ctl.createDatabase(ctx, ctl.project, instanceResp.Msg, nil, dbName, "") |
| 603 | a.NoError(err) |
| 604 | |
| 605 | // Get database |
| 606 | databaseResp, err := ctl.databaseServiceClient.GetDatabase(ctx, connect.NewRequest(&v1pb.GetDatabaseRequest{ |
| 607 | Name: fmt.Sprintf("%s/databases/%s", instanceResp.Msg.Name, dbName), |
| 608 | })) |
| 609 | a.NoError(err) |
| 610 | |
| 611 | return databaseResp.Msg, mysqlContainer |
| 612 | } |
| 613 | |
| 614 | // createTestPostgreSQLDatabase creates a test PostgreSQL database instance and database |
| 615 | func (ctl *controller) createTestPostgreSQLDatabase(ctx context.Context, t *testing.T) (*v1pb.Database, *Container) { |
no test coverage detected