MCPcopy Index your code
hub / github.com/bytebase/bytebase / createTestMySQLDatabase

Method createTestMySQLDatabase

backend/tests/action_test.go:573–612  ·  view source on GitHub ↗

createTestMySQLDatabase creates a test MySQL database instance and database

(ctx context.Context, t *testing.T)

Source from the content-addressed store, hash-verified

571
572// createTestMySQLDatabase creates a test MySQL database instance and database
573func (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
615func (ctl *controller) createTestPostgreSQLDatabase(ctx context.Context, t *testing.T) (*v1pb.Database, *Container) {

Callers 1

TestActionCheckCommandFunction · 0.95

Calls 5

createDatabaseMethod · 0.95
getMySQLContainerFunction · 0.85
generateRandomStringFunction · 0.85
CreateInstanceMethod · 0.65
GetDatabaseMethod · 0.65

Tested by

no test coverage detected