Skip to content

Commit

Permalink
Refactor git providers (#438)
Browse files Browse the repository at this point in the history
* Refactor git providers

- use a different cache set for each Describe section
- moved repo validation to the main function that creates it
- use h.GetAccountType anywhere

* removed unused function

* removed unused provider variable

* fixed recorder url filter, updated cache

* Fixed Bad Credentials error

Other tests were changing the GITHUB_TOKEN env variable so when those tests run before git providers tests it was causing Bad Credentials errors when running locally.

* added missing cache file
  • Loading branch information
josecordaz committed Jul 14, 2021
1 parent e285e51 commit 1a994fa
Show file tree
Hide file tree
Showing 11 changed files with 6,496 additions and 9,129 deletions.
1,285 changes: 1,285 additions & 0 deletions pkg/gitproviders/cache/deploy_key_org.yaml

Large diffs are not rendered by default.

1,253 changes: 1,253 additions & 0 deletions pkg/gitproviders/cache/deploy_key_user.yaml

Large diffs are not rendered by default.

424 changes: 424 additions & 0 deletions pkg/gitproviders/cache/get_user_repo_info.yaml

Large diffs are not rendered by default.

7,147 changes: 0 additions & 7,147 deletions pkg/gitproviders/cache/github.yaml

This file was deleted.

1,723 changes: 0 additions & 1,723 deletions pkg/gitproviders/cache/gitlab.yaml

This file was deleted.

2,320 changes: 2,320 additions & 0 deletions pkg/gitproviders/cache/pull_requests.yaml

Large diffs are not rendered by default.

503 changes: 503 additions & 0 deletions pkg/gitproviders/cache/repo_org_exists.yaml

Large diffs are not rendered by default.

487 changes: 487 additions & 0 deletions pkg/gitproviders/cache/repo_personal_exists.yaml

Large diffs are not rendered by default.

29 changes: 14 additions & 15 deletions pkg/gitproviders/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,12 +119,6 @@ func (h defaultGitProviderHandler) CreateRepository(name string, owner string, p
}
}

if err = utils.WaitUntil(os.Stdout, time.Second, time.Second*30, func() error {
return GetRepoInfo(githubProvider, ownerType, owner, name)
}); err != nil {
return fmt.Errorf("could not verify repo existence %s", err)
}

return nil
}

Expand All @@ -137,7 +131,7 @@ func (h defaultGitProviderHandler) DeployKeyExists(owner, repoName string) (bool

deployKeyName := "weave-gitops-deploy-key"

ownerType, err := GetAccountType(owner)
ownerType, err := h.GetAccountType(owner)
if err != nil {
return false, err
}
Expand Down Expand Up @@ -215,7 +209,7 @@ func (h defaultGitProviderHandler) UploadDeployKey(owner, repoName string, deplo
if err != nil {
return fmt.Errorf("error uploading deploy key %s", err)
}
if err = utils.WaitUntil(os.Stdout, time.Second, time.Second*10, func() error {
if err = utils.WaitUntil(os.Stdout, time.Second, time.Second*30, func() error {
_, err = orgRepo.DeployKeys().Get(ctx, deployKeyName)
return err
}); err != nil {
Expand All @@ -232,7 +226,7 @@ func (h defaultGitProviderHandler) UploadDeployKey(owner, repoName string, deplo
if err != nil {
return fmt.Errorf("error uploading deploy key %s", err)
}
if err = utils.WaitUntil(os.Stdout, time.Second, time.Second*10, func() error {
if err = utils.WaitUntil(os.Stdout, time.Second, time.Second*30, func() error {
_, err = userRepo.DeployKeys().Get(ctx, deployKeyName)
return err
}); err != nil {
Expand Down Expand Up @@ -268,10 +262,6 @@ func CreatePullRequestToOrgRepo(orgRepRef gitprovider.OrgRepositoryRef, targetBr
return gitProviderHandler.(GitProviderHandler).CreatePullRequestToOrgRepo(orgRepRef, targetBranch, newBranch, files, commitMessage, prTitle, prDescription)
}

func GetAccountType(owner string) (ProviderAccountType, error) {
return gitProviderHandler.(GitProviderHandler).GetAccountType(owner)
}

func (h defaultGitProviderHandler) GetAccountType(owner string) (ProviderAccountType, error) {
provider, err := GithubProvider()
if err != nil {
Expand Down Expand Up @@ -353,7 +343,7 @@ func CreateOrgRepository(provider gitprovider.Client, orgRepoRef gitprovider.Org
return fmt.Errorf("error creating repo %s", err)
}

return nil
return waitUntilRepoCreated(AccountTypeOrg, orgRepoRef.Organization, orgRepoRef.RepositoryName)
}

func CreateUserRepository(provider gitprovider.Client, userRepoRef gitprovider.UserRepositoryRef, repoInfo gitprovider.RepositoryInfo, opts ...gitprovider.RepositoryCreateOption) error {
Expand All @@ -365,7 +355,7 @@ func CreateUserRepository(provider gitprovider.Client, userRepoRef gitprovider.U
return fmt.Errorf("error creating repo %s", err)
}

return nil
return waitUntilRepoCreated(AccountTypeUser, userRepoRef.UserLogin, userRepoRef.RepositoryName)
}

func Override(handler GitProviderHandler) override.Override {
Expand Down Expand Up @@ -485,3 +475,12 @@ func NewUserRepositoryRef(domain, user, repoName string) gitprovider.UserReposit
},
}
}

func waitUntilRepoCreated(ownerType ProviderAccountType, owner, name string) error {
if err := utils.WaitUntil(os.Stdout, time.Second, time.Second*30, func() error {
return GetRepoInfo(githubProvider, ownerType, owner, name)
}); err != nil {
return fmt.Errorf("could not verify repo existence %s", err)
}
return nil
}

0 comments on commit 1a994fa

Please sign in to comment.