Example #1
0
func (cmd *ATCCommand) configureOAuthProviders(logger lager.Logger, sqlDB db.DB) error {
	var err error
	team := db.Team{
		Name: atc.DefaultTeamName,
	}

	gitHubTeams := []db.GitHubTeam{}
	for _, gitHubTeam := range cmd.GitHubAuth.Teams {
		gitHubTeams = append(gitHubTeams, db.GitHubTeam{
			TeamName:         gitHubTeam.TeamName,
			OrganizationName: gitHubTeam.OrganizationName,
		})
	}

	if len(cmd.GitHubAuth.Organizations) > 0 ||
		len(gitHubTeams) > 0 ||
		len(cmd.GitHubAuth.Users) > 0 {
		gitHubAuth := db.GitHubAuth{
			ClientID:      cmd.GitHubAuth.ClientID,
			ClientSecret:  cmd.GitHubAuth.ClientSecret,
			Organizations: cmd.GitHubAuth.Organizations,
			Teams:         gitHubTeams,
			Users:         cmd.GitHubAuth.Users,
			AuthURL:       cmd.GitHubAuth.AuthURL,
			TokenURL:      cmd.GitHubAuth.TokenURL,
			APIURL:        cmd.GitHubAuth.APIURL,
		}
		team.GitHubAuth = gitHubAuth
	} else {
		team.GitHubAuth = db.GitHubAuth{}
	}

	_, err = sqlDB.UpdateTeamGitHubAuth(team)
	if err != nil {
		return err
	}

	return nil
}
Example #2
0
				Expect(savedTeam.BasicAuth.BasicAuthUsername).To(BeEmpty())
				Expect(savedTeam.BasicAuth.BasicAuthPassword).To(BeEmpty())
			})

			It("nulls basic auth when has a blank password", func() {
				basicAuthTeam.BasicAuthPassword = ""
				savedTeam, err := database.UpdateTeamBasicAuth(basicAuthTeam)
				Expect(err).NotTo(HaveOccurred())

				Expect(savedTeam.BasicAuth.BasicAuthUsername).To(BeEmpty())
				Expect(savedTeam.BasicAuth.BasicAuthPassword).To(BeEmpty())
			})
		})

		It("saves oauth team info to the existing team", func() {
			savedTeam, err := database.UpdateTeamGitHubAuth(gitHubAuthTeam)
			Expect(err).NotTo(HaveOccurred())

			Expect(savedTeam.ClientID).To(Equal(gitHubAuthTeam.ClientID))
			Expect(savedTeam.ClientSecret).To(Equal(gitHubAuthTeam.ClientSecret))
			Expect(savedTeam.Organizations).To(Equal(gitHubAuthTeam.Organizations))
			Expect(savedTeam.Teams).To(Equal(gitHubAuthTeam.Teams))
			Expect(savedTeam.Users).To(Equal(gitHubAuthTeam.Users))
		})

		It("saves gitHub auth team info without over writing the basic auth", func() {
			_, err := database.UpdateTeamGitHubAuth(gitHubAuthTeam)
			Expect(err).NotTo(HaveOccurred())

			savedTeam, err := database.UpdateTeamBasicAuth(basicAuthTeam)
			Expect(err).NotTo(HaveOccurred())