"bytes"
"log"
"os"
+ "path/filepath"
"strings"
"testing"
"oransc.org/nonrtric/capifcore/internal/helmmanagement/mocks"
)
-func TestSetUpRepo_repoShouldBeAddedToReposFile(t *testing.T) {
+func TestNoChartURL_repoNotSetUp(t *testing.T) {
+ managerUnderTest := NewHelmManager(nil)
+
+ res := managerUnderTest.SetUpRepo("repoName", "")
+
+ assert.Nil(t, res)
+ assert.False(t, managerUnderTest.setUp)
+}
+
+func TestSetUpRepoExistingRepoFile_repoShouldBeAddedToReposFile(t *testing.T) {
settings := createReposFile(t)
managerUnderTest := NewHelmManager(settings)
- repoName := "repoName"
+ repoName := filepath.Dir(settings.RepositoryConfig)
repoURL := "http://url"
managerUnderTest.repo = getChartRepo(settings)
assert.Nil(t, res)
assert.True(t, containsRepo(settings.RepositoryConfig, repoName))
+ assert.True(t, managerUnderTest.setUp)
+}
+
+func TestSetUpRepoFail_shouldNotBeSetUp(t *testing.T) {
+ settings := createReposFile(t)
+
+ managerUnderTest := NewHelmManager(settings)
+
+ res := managerUnderTest.SetUpRepo("repoName", "repoURL")
+
+ assert.NotNil(t, res)
+ assert.False(t, managerUnderTest.setUp)
}
func createReposFile(t *testing.T) *cli.EnvSettings {
os.RemoveAll(reposDir)
})
- reposFile := reposDir + "/repositories.yaml"
+ reposFile := reposDir + "/index.yaml"
settings := &cli.EnvSettings{
RepositoryConfig: reposFile,
}
func getChartRepo(settings *cli.EnvSettings) *repo.ChartRepository {
repoURL := "http://repoURL"
c := repo.Entry{
- Name: "",
+ Name: filepath.Dir(settings.RepositoryConfig),
URL: repoURL,
}
r, _ := repo.NewChartRepository(&c, getter.All(settings))