-
Notifications
You must be signed in to change notification settings - Fork 77
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CLOUDP-193331: Atlas client mocks (#1125)
- Loading branch information
Showing
34 changed files
with
1,641 additions
and
686 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
package atlas | ||
|
||
import ( | ||
"context" | ||
"fmt" | ||
|
||
"go.mongodb.org/atlas/mongodbatlas" | ||
) | ||
|
||
type AdvancedClustersClientMock struct { | ||
ListFunc func(projectID string) (*mongodbatlas.AdvancedClustersResponse, *mongodbatlas.Response, error) | ||
ListRequests map[string]struct{} | ||
|
||
GetFunc func(projectID string, clusterName string) (*mongodbatlas.AdvancedCluster, *mongodbatlas.Response, error) | ||
GetRequests map[string]struct{} | ||
|
||
CreateFunc func(projectID string, cluster *mongodbatlas.AdvancedCluster) (*mongodbatlas.AdvancedCluster, *mongodbatlas.Response, error) | ||
CreateRequests map[string]*mongodbatlas.AdvancedCluster | ||
|
||
UpdateFunc func(projectID string, clusterName string, cluster *mongodbatlas.AdvancedCluster) (*mongodbatlas.AdvancedCluster, *mongodbatlas.Response, error) | ||
UpdateRequests map[string]*mongodbatlas.AdvancedCluster | ||
|
||
DeleteFunc func(projectID string, clusterName string) (*mongodbatlas.Response, error) | ||
DeleteRequests map[string]struct{} | ||
|
||
TestFailoverFunc func(projectID string, clusterName string) (*mongodbatlas.Response, error) | ||
TestFailoverRequests map[string]struct{} | ||
} | ||
|
||
func (c *AdvancedClustersClientMock) List(_ context.Context, projectID string, _ *mongodbatlas.ListOptions) (*mongodbatlas.AdvancedClustersResponse, *mongodbatlas.Response, error) { | ||
if c.ListRequests == nil { | ||
c.ListRequests = map[string]struct{}{} | ||
} | ||
|
||
c.ListRequests[projectID] = struct{}{} | ||
|
||
return c.ListFunc(projectID) | ||
} | ||
|
||
func (c *AdvancedClustersClientMock) Get(_ context.Context, projectID string, clusterName string) (*mongodbatlas.AdvancedCluster, *mongodbatlas.Response, error) { | ||
if c.GetRequests == nil { | ||
c.GetRequests = map[string]struct{}{} | ||
} | ||
|
||
c.GetRequests[fmt.Sprintf("%s.%s", projectID, clusterName)] = struct{}{} | ||
|
||
return c.GetFunc(projectID, clusterName) | ||
} | ||
|
||
func (c *AdvancedClustersClientMock) Create(_ context.Context, projectID string, cluster *mongodbatlas.AdvancedCluster) (*mongodbatlas.AdvancedCluster, *mongodbatlas.Response, error) { | ||
if c.CreateRequests == nil { | ||
c.CreateRequests = map[string]*mongodbatlas.AdvancedCluster{} | ||
} | ||
|
||
c.CreateRequests[projectID] = cluster | ||
|
||
return c.CreateFunc(projectID, cluster) | ||
} | ||
|
||
func (c *AdvancedClustersClientMock) Update(_ context.Context, projectID string, clusterName string, cluster *mongodbatlas.AdvancedCluster) (*mongodbatlas.AdvancedCluster, *mongodbatlas.Response, error) { | ||
if c.UpdateRequests == nil { | ||
c.UpdateRequests = map[string]*mongodbatlas.AdvancedCluster{} | ||
} | ||
|
||
c.UpdateRequests[fmt.Sprintf("%s.%s", projectID, clusterName)] = cluster | ||
|
||
return c.UpdateFunc(projectID, clusterName, cluster) | ||
} | ||
|
||
func (c *AdvancedClustersClientMock) Delete(_ context.Context, projectID string, clusterName string, _ *mongodbatlas.DeleteAdvanceClusterOptions) (*mongodbatlas.Response, error) { | ||
if c.DeleteRequests == nil { | ||
c.DeleteRequests = map[string]struct{}{} | ||
} | ||
|
||
c.DeleteRequests[fmt.Sprintf("%s.%s", projectID, clusterName)] = struct{}{} | ||
|
||
return c.DeleteFunc(projectID, clusterName) | ||
} | ||
|
||
func (c *AdvancedClustersClientMock) TestFailover(_ context.Context, projectID string, clusterName string) (*mongodbatlas.Response, error) { | ||
if c.TestFailoverRequests == nil { | ||
c.TestFailoverRequests = map[string]struct{}{} | ||
} | ||
|
||
c.TestFailoverRequests[fmt.Sprintf("%s.%s", projectID, clusterName)] = struct{}{} | ||
|
||
return c.TestFailoverFunc(projectID, clusterName) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
package atlas | ||
|
||
import ( | ||
"context" | ||
"fmt" | ||
|
||
"go.mongodb.org/atlas/mongodbatlas" | ||
) | ||
|
||
type AlertConfigurationsMock struct { | ||
CreateFunc func(projectID string, alertConfig *mongodbatlas.AlertConfiguration) (*mongodbatlas.AlertConfiguration, *mongodbatlas.Response, error) | ||
CreateRequests map[string]*mongodbatlas.AlertConfiguration | ||
|
||
EnableAnAlertConfigFunc func(projectID string, alertConfigID string, enabled *bool) (*mongodbatlas.AlertConfiguration, *mongodbatlas.Response, error) | ||
EnableAnAlertConfigRequests map[string]*bool | ||
|
||
GetAnAlertConfigFunc func(projectID string, alertConfigID string) (*mongodbatlas.AlertConfiguration, *mongodbatlas.Response, error) | ||
GetAnAlertConfigRequests map[string]struct{} | ||
|
||
GetOpenAlertsConfigFunc func(projectID string, alertConfigID string) ([]mongodbatlas.AlertConfiguration, *mongodbatlas.Response, error) | ||
GetOpenAlertsConfigRequests map[string]struct{} | ||
|
||
ListFunc func(projectID string) ([]mongodbatlas.AlertConfiguration, *mongodbatlas.Response, error) | ||
ListRequests map[string]struct{} | ||
|
||
ListMatcherFieldsFunc func() ([]string, *mongodbatlas.Response, error) | ||
ListMatcherFieldsCalls int | ||
|
||
UpdateFunc func(projectID string, alertConfigID string, alertConfig *mongodbatlas.AlertConfiguration) (*mongodbatlas.AlertConfiguration, *mongodbatlas.Response, error) | ||
UpdateRequests map[string]*mongodbatlas.AlertConfiguration | ||
|
||
DeleteFunc func(projectID string, alertConfigID string) (*mongodbatlas.Response, error) | ||
DeleteRequests map[string]struct{} | ||
} | ||
|
||
func (c *AlertConfigurationsMock) Create(_ context.Context, projectID string, alertConfig *mongodbatlas.AlertConfiguration) (*mongodbatlas.AlertConfiguration, *mongodbatlas.Response, error) { | ||
if c.CreateRequests == nil { | ||
c.CreateRequests = map[string]*mongodbatlas.AlertConfiguration{} | ||
} | ||
|
||
c.CreateRequests[projectID] = alertConfig | ||
|
||
return c.CreateFunc(projectID, alertConfig) | ||
} | ||
func (c *AlertConfigurationsMock) EnableAnAlertConfig(_ context.Context, projectID string, alertConfigID string, enabled *bool) (*mongodbatlas.AlertConfiguration, *mongodbatlas.Response, error) { | ||
if c.EnableAnAlertConfigRequests == nil { | ||
c.EnableAnAlertConfigRequests = map[string]*bool{} | ||
} | ||
|
||
c.EnableAnAlertConfigRequests[fmt.Sprintf("%s.%s", projectID, alertConfigID)] = enabled | ||
|
||
return c.EnableAnAlertConfigFunc(projectID, alertConfigID, enabled) | ||
} | ||
func (c *AlertConfigurationsMock) GetAnAlertConfig(_ context.Context, projectID string, alertConfigID string) (*mongodbatlas.AlertConfiguration, *mongodbatlas.Response, error) { | ||
if c.GetAnAlertConfigRequests == nil { | ||
c.GetAnAlertConfigRequests = map[string]struct{}{} | ||
} | ||
|
||
c.GetAnAlertConfigRequests[fmt.Sprintf("%s.%s", projectID, alertConfigID)] = struct{}{} | ||
|
||
return c.GetAnAlertConfigFunc(projectID, alertConfigID) | ||
} | ||
func (c *AlertConfigurationsMock) GetOpenAlertsConfig(_ context.Context, projectID string, alertConfigID string) ([]mongodbatlas.AlertConfiguration, *mongodbatlas.Response, error) { | ||
if c.GetOpenAlertsConfigRequests == nil { | ||
c.GetOpenAlertsConfigRequests = map[string]struct{}{} | ||
} | ||
|
||
c.GetOpenAlertsConfigRequests[fmt.Sprintf("%s.%s", projectID, alertConfigID)] = struct{}{} | ||
|
||
return c.GetOpenAlertsConfigFunc(projectID, alertConfigID) | ||
} | ||
func (c *AlertConfigurationsMock) List(_ context.Context, projectID string, _ *mongodbatlas.ListOptions) ([]mongodbatlas.AlertConfiguration, *mongodbatlas.Response, error) { | ||
if c.ListRequests == nil { | ||
c.ListRequests = map[string]struct{}{} | ||
} | ||
|
||
c.ListRequests[projectID] = struct{}{} | ||
|
||
return c.ListFunc(projectID) | ||
} | ||
func (c *AlertConfigurationsMock) ListMatcherFields(_ context.Context) ([]string, *mongodbatlas.Response, error) { | ||
c.ListMatcherFieldsCalls++ | ||
|
||
return c.ListMatcherFieldsFunc() | ||
} | ||
func (c *AlertConfigurationsMock) Update(_ context.Context, projectID string, alertConfigID string, alertConfig *mongodbatlas.AlertConfiguration) (*mongodbatlas.AlertConfiguration, *mongodbatlas.Response, error) { | ||
if c.UpdateRequests == nil { | ||
c.UpdateRequests = map[string]*mongodbatlas.AlertConfiguration{} | ||
} | ||
|
||
c.UpdateRequests[fmt.Sprintf("%s.%s", projectID, alertConfigID)] = alertConfig | ||
|
||
return c.UpdateFunc(projectID, alertConfigID, alertConfig) | ||
} | ||
func (c *AlertConfigurationsMock) Delete(_ context.Context, projectID string, alertConfigID string) (*mongodbatlas.Response, error) { | ||
if c.DeleteRequests == nil { | ||
c.DeleteRequests = map[string]struct{}{} | ||
} | ||
|
||
c.DeleteRequests[fmt.Sprintf("%s.%s", projectID, alertConfigID)] = struct{}{} | ||
|
||
return c.DeleteFunc(projectID, alertConfigID) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
package atlas | ||
|
||
import ( | ||
"context" | ||
|
||
"go.mongodb.org/atlas/mongodbatlas" | ||
) | ||
|
||
type AuditingClientMock struct { | ||
GetFunc func(projectID string) (*mongodbatlas.Auditing, *mongodbatlas.Response, error) | ||
GetRequests map[string]struct{} | ||
|
||
ConfigureFunc func(projectID string, auditing *mongodbatlas.Auditing) (*mongodbatlas.Auditing, *mongodbatlas.Response, error) | ||
ConfigureRequests map[string]*mongodbatlas.Auditing | ||
} | ||
|
||
func (c *AuditingClientMock) Get(_ context.Context, projectID string) (*mongodbatlas.Auditing, *mongodbatlas.Response, error) { | ||
if c.GetRequests == nil { | ||
c.GetRequests = map[string]struct{}{} | ||
} | ||
|
||
c.GetRequests[projectID] = struct{}{} | ||
|
||
return c.GetFunc(projectID) | ||
} | ||
func (c *AuditingClientMock) Configure(_ context.Context, projectID string, auditing *mongodbatlas.Auditing) (*mongodbatlas.Auditing, *mongodbatlas.Response, error) { | ||
if c.ConfigureRequests == nil { | ||
c.ConfigureRequests = map[string]*mongodbatlas.Auditing{} | ||
} | ||
|
||
c.ConfigureRequests[projectID] = auditing | ||
|
||
return c.ConfigureFunc(projectID, auditing) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
package atlas | ||
|
||
import ( | ||
"context" | ||
"fmt" | ||
|
||
"go.mongodb.org/atlas/mongodbatlas" | ||
) | ||
|
||
type CloudProviderAccessClientMock struct { | ||
ListRolesFunc func(projectID string) (*mongodbatlas.CloudProviderAccessRoles, *mongodbatlas.Response, error) | ||
ListRolesRequests map[string]struct{} | ||
|
||
GetRoleFunc func(projectID string, roleID string) (*mongodbatlas.CloudProviderAccessRole, *mongodbatlas.Response, error) | ||
GetRoleRequests map[string]struct{} | ||
|
||
CreateRoleFunc func(projectID string, cpa *mongodbatlas.CloudProviderAccessRoleRequest) (*mongodbatlas.CloudProviderAccessRole, *mongodbatlas.Response, error) | ||
CreateRoleRequests map[string]*mongodbatlas.CloudProviderAccessRoleRequest | ||
|
||
AuthorizeRoleFunc func(projectID, roleID string, cpa *mongodbatlas.CloudProviderAccessRoleRequest) (*mongodbatlas.CloudProviderAccessRole, *mongodbatlas.Response, error) | ||
AuthorizeRoleRequests map[string]*mongodbatlas.CloudProviderAccessRoleRequest | ||
|
||
DeauthorizeRoleFunc func(cpa *mongodbatlas.CloudProviderDeauthorizationRequest) (*mongodbatlas.Response, error) | ||
DeauthorizeRoleRequests []*mongodbatlas.CloudProviderDeauthorizationRequest | ||
} | ||
|
||
func (c *CloudProviderAccessClientMock) ListRoles(_ context.Context, projectID string) (*mongodbatlas.CloudProviderAccessRoles, *mongodbatlas.Response, error) { | ||
if c.ListRolesRequests == nil { | ||
c.ListRolesRequests = map[string]struct{}{} | ||
} | ||
|
||
c.ListRolesRequests[projectID] = struct{}{} | ||
|
||
return c.ListRolesFunc(projectID) | ||
} | ||
|
||
func (c *CloudProviderAccessClientMock) GetRole(_ context.Context, projectID string, roleID string) (*mongodbatlas.CloudProviderAccessRole, *mongodbatlas.Response, error) { | ||
if c.GetRoleRequests == nil { | ||
c.GetRoleRequests = map[string]struct{}{} | ||
} | ||
|
||
c.GetRoleRequests[fmt.Sprintf("%s.%.s", projectID, roleID)] = struct{}{} | ||
|
||
return c.GetRoleFunc(projectID, roleID) | ||
} | ||
|
||
func (c *CloudProviderAccessClientMock) CreateRole(_ context.Context, projectID string, cpa *mongodbatlas.CloudProviderAccessRoleRequest) (*mongodbatlas.CloudProviderAccessRole, *mongodbatlas.Response, error) { | ||
if c.CreateRoleRequests == nil { | ||
c.CreateRoleRequests = map[string]*mongodbatlas.CloudProviderAccessRoleRequest{} | ||
} | ||
|
||
c.CreateRoleRequests[projectID] = cpa | ||
|
||
return c.CreateRoleFunc(projectID, cpa) | ||
} | ||
|
||
func (c *CloudProviderAccessClientMock) AuthorizeRole(_ context.Context, projectID string, roleID string, cpa *mongodbatlas.CloudProviderAccessRoleRequest) (*mongodbatlas.CloudProviderAccessRole, *mongodbatlas.Response, error) { | ||
if c.AuthorizeRoleRequests == nil { | ||
c.AuthorizeRoleRequests = map[string]*mongodbatlas.CloudProviderAccessRoleRequest{} | ||
} | ||
|
||
c.AuthorizeRoleRequests[fmt.Sprintf("%s.%.s", projectID, roleID)] = cpa | ||
|
||
return c.AuthorizeRoleFunc(projectID, roleID, cpa) | ||
} | ||
func (c *CloudProviderAccessClientMock) DeauthorizeRole(_ context.Context, cpa *mongodbatlas.CloudProviderDeauthorizationRequest) (*mongodbatlas.Response, error) { | ||
if c.DeauthorizeRoleRequests == nil { | ||
c.DeauthorizeRoleRequests = []*mongodbatlas.CloudProviderDeauthorizationRequest{} | ||
} | ||
|
||
c.DeauthorizeRoleRequests = append(c.DeauthorizeRoleRequests, cpa) | ||
|
||
return c.DeauthorizeRoleFunc(cpa) | ||
} |
Oops, something went wrong.