pkg/client/sonar/client_interface.go (79 lines of code) (raw):

package sonar import ( "context" "net/url" ) // ClientInterface is an interface for Sonar client. // //go:generate mockery --name ClientInterface --filename client_mock.go type ClientInterface interface { ConfigureGeneralSettings(settings ...SettingRequest) error InstallPlugins(plugins []string) error SetProjectsDefaultVisibility(visibility string) error UserInterface GroupInterface PermissionTemplateInterface Settings System QualityGateClient QualityProfileClient RuleClient } type UserInterface interface { CreateUser(ctx context.Context, u *User) error UpdateUser(ctx context.Context, u *User) error GenerateUserToken(userName string) (*string, error) GetUserByLogin(ctx context.Context, userLogin string) (*User, error) GetUserToken(ctx context.Context, userLogin, tokenName string) (*UserToken, error) GetUserGroups(ctx context.Context, userLogin string) ([]Group, error) DeactivateUser(ctx context.Context, userLogin string) error } type GroupInterface interface { AddPermissionsToGroup(groupName string, permissions string) error GetGroup(ctx context.Context, groupName string) (*Group, error) CreateGroup(ctx context.Context, gr *Group) error UpdateGroup(ctx context.Context, currentName string, group *Group) error DeleteGroup(ctx context.Context, groupName string) error AddUserToGroup(ctx context.Context, userLogin, groupName string) error RemoveUserFromGroup(ctx context.Context, userLogin, groupName string) error } type PermissionTemplateInterface interface { CreatePermissionTemplate(ctx context.Context, tpl *PermissionTemplateData) (*PermissionTemplate, error) UpdatePermissionTemplate(ctx context.Context, tpl *PermissionTemplate) error DeletePermissionTemplate(ctx context.Context, id string) error GetPermissionTemplate(ctx context.Context, name string) (*PermissionTemplate, error) AddGroupToPermissionTemplate(ctx context.Context, templateID, groupName, permission string) error GetPermissionTemplateGroups(ctx context.Context, templateID string) (map[string][]string, error) RemoveGroupFromPermissionTemplate(ctx context.Context, templateID, groupName, permission string) error SetDefaultPermissionTemplate(ctx context.Context, name string) error GetUserPermissions(ctx context.Context, userLogin string) ([]string, error) AddPermissionToUser(ctx context.Context, userLogin, permission string) error RemovePermissionFromUser(ctx context.Context, userLogin, permission string) error GetGroupPermissions(ctx context.Context, groupName string) ([]string, error) AddPermissionToGroup(ctx context.Context, groupName, permission string) error RemovePermissionFromGroup(ctx context.Context, groupName, permission string) error } type Settings interface { SetSetting(ctx context.Context, setting url.Values) error ResetSettings(ctx context.Context, settingsKeys []string) error } type System interface { Health(ctx context.Context) (*SystemHealth, error) } type QualityGateClient interface { CreateQualityGate(ctx context.Context, name string) (*QualityGate, error) GetQualityGate(ctx context.Context, name string) (*QualityGate, error) DeleteQualityGate(ctx context.Context, name string) error SetAsDefaultQualityGate(ctx context.Context, name string) error CreateQualityGateCondition(ctx context.Context, gate string, condition QualityGateCondition) error UpdateQualityGateCondition(ctx context.Context, condition QualityGateCondition) error DeleteQualityGateCondition(ctx context.Context, conditionId string) error } type QualityProfileClient interface { CreateQualityProfile(ctx context.Context, name, language string) (*QualityProfile, error) GetQualityProfile(ctx context.Context, name string) (*QualityProfile, error) DeleteQualityProfile(ctx context.Context, name, language string) error SetAsDefaultQualityProfile(ctx context.Context, name, language string) error ActivateQualityProfileRule(ctx context.Context, profileKey string, rule Rule) error DeactivateQualityProfileRule(ctx context.Context, profileKey, ruleKey string) error } type RuleClient interface { GetQualityProfileActiveRules(ctx context.Context, profileKey string) ([]Rule, error) }