Blame internal/store/store_test.go

Packit 63bb0d
package store
Packit 63bb0d
Packit 63bb0d
import (
Packit 63bb0d
	"io/ioutil"
Packit 63bb0d
	"os"
Packit 63bb0d
	"testing"
Packit 63bb0d
	"time"
Packit 63bb0d
Packit 63bb0d
	"github.com/google/uuid"
Packit 63bb0d
	"github.com/stretchr/testify/suite"
Packit 63bb0d
Packit 63bb0d
	"github.com/osbuild/osbuild-composer/internal/blueprint"
Packit 63bb0d
	"github.com/osbuild/osbuild-composer/internal/common"
Packit 63bb0d
	"github.com/osbuild/osbuild-composer/internal/distro"
Packit 63bb0d
	"github.com/osbuild/osbuild-composer/internal/distro/test_distro"
Packit 63bb0d
	"github.com/osbuild/osbuild-composer/internal/osbuild"
Packit 63bb0d
	"github.com/osbuild/osbuild-composer/internal/rpmmd"
Packit 63bb0d
	"github.com/osbuild/osbuild-composer/internal/target"
Packit 63bb0d
)
Packit 63bb0d
Packit 63bb0d
//struct for sharing state between tests
Packit 63bb0d
type storeTest struct {
Packit 63bb0d
	suite.Suite
Packit 63bb0d
	dir              string
Packit 63bb0d
	myStore          *Store
Packit 63bb0d
	myCustomizations blueprint.Customizations
Packit 63bb0d
	myBP             blueprint.Blueprint
Packit 63bb0d
	CommitHash       string
Packit 63bb0d
	myChange         blueprint.Change
Packit 63bb0d
	myTarget         *target.Target
Packit 63bb0d
	mySources        map[string]osbuild.Source
Packit 63bb0d
	myCompose        Compose
Packit 63bb0d
	myImageBuild     ImageBuild
Packit 63bb0d
	mySourceConfig   SourceConfig
Packit 63bb0d
	myDistro         *test_distro.TestDistro
Packit 63bb0d
	myArch           distro.Arch
Packit 63bb0d
	myImageType      distro.ImageType
Packit 63bb0d
	myManifest       distro.Manifest
Packit 63bb0d
	myRepoConfig     []rpmmd.RepoConfig
Packit 63bb0d
	myPackageSpec    []rpmmd.PackageSpec
Packit 63bb0d
	myImageOptions   distro.ImageOptions
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
//func to initialize some default values before the suite is ran
Packit 63bb0d
func (suite *storeTest) SetupSuite() {
Packit 63bb0d
	suite.myRepoConfig = []rpmmd.RepoConfig{rpmmd.RepoConfig{
Packit 63bb0d
		Name:       "testRepo",
Packit 63bb0d
		MirrorList: "testURL",
Packit 63bb0d
	}}
Packit 63bb0d
	suite.myPackageSpec = []rpmmd.PackageSpec{rpmmd.PackageSpec{}}
Packit 63bb0d
	suite.myDistro = test_distro.New()
Packit 63bb0d
	suite.myArch, _ = suite.myDistro.GetArch("test_arch")
Packit 63bb0d
	suite.myImageType, _ = suite.myArch.GetImageType("test_type")
Packit Service 509fd4
	suite.myManifest, _ = suite.myImageType.Manifest(&suite.myCustomizations, suite.myImageOptions, suite.myRepoConfig, nil, suite.myPackageSpec, 0)
Packit 63bb0d
	suite.mySourceConfig = SourceConfig{
Packit 63bb0d
		Name: "testSourceConfig",
Packit 63bb0d
	}
Packit 63bb0d
	suite.myCompose = Compose{
Packit 63bb0d
		Blueprint:  &suite.myBP,
Packit 63bb0d
		ImageBuild: suite.myImageBuild,
Packit 63bb0d
	}
Packit 63bb0d
	suite.myImageBuild = ImageBuild{
Packit 63bb0d
		ID: 123,
Packit 63bb0d
	}
Packit 63bb0d
	suite.mySources = make(map[string]osbuild.Source)
Packit 63bb0d
	suite.myCustomizations = blueprint.Customizations{}
Packit 63bb0d
	suite.myBP = blueprint.Blueprint{
Packit 63bb0d
		Name:        "testBP",
Packit 63bb0d
		Description: "Testing blueprint",
Packit 63bb0d
		Version:     "0.0.1",
Packit 63bb0d
		Packages: []blueprint.Package{
Packit 63bb0d
			{Name: "test1", Version: "*"}},
Packit 63bb0d
		Modules: []blueprint.Package{
Packit 63bb0d
			{Name: "test2", Version: "*"}},
Packit 63bb0d
		Groups: []blueprint.Group{
Packit 63bb0d
			{Name: "test3"}},
Packit 63bb0d
		Customizations: &suite.myCustomizations,
Packit 63bb0d
	}
Packit 63bb0d
	suite.CommitHash = "firstCommit"
Packit 63bb0d
	suite.myChange = blueprint.Change{
Packit 63bb0d
		Commit:    "firstCommit",
Packit 63bb0d
		Message:   "firstCommitMessage",
Packit 63bb0d
		Revision:  nil,
Packit 63bb0d
		Timestamp: "now",
Packit 63bb0d
		Blueprint: suite.myBP,
Packit 63bb0d
	}
Packit 63bb0d
	suite.myTarget = &target.Target{
Packit 63bb0d
		Uuid:      uuid.New(),
Packit 63bb0d
		ImageName: "ImageName",
Packit 63bb0d
		Name:      "Name",
Packit 63bb0d
		Created:   time.Now(),
Packit 63bb0d
		Options:   nil,
Packit 63bb0d
	}
Packit 63bb0d
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
//setup before each test
Packit 63bb0d
func (suite *storeTest) SetupTest() {
Packit 63bb0d
	tmpDir, err := ioutil.TempDir("/tmp", "osbuild-composer-test-")
Packit 63bb0d
	suite.NoError(err)
Packit 63bb0d
	distro := test_distro.New()
Packit 63bb0d
	arch, err := distro.GetArch("test_arch")
Packit 63bb0d
	suite.NoError(err)
Packit 63bb0d
	suite.dir = tmpDir
Packit 63bb0d
	suite.myStore = New(&suite.dir, arch, nil)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
//teardown after each test
Packit 63bb0d
func (suite *storeTest) TearDownTest() {
Packit 63bb0d
	os.RemoveAll(suite.dir)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestRandomSHA1String() {
Packit 63bb0d
	hash, err := randomSHA1String()
Packit 63bb0d
	suite.NoError(err)
Packit 63bb0d
	suite.Len(hash, 40)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
//Check initial state of fields
Packit 63bb0d
func (suite *storeTest) TestNewEmpty() {
Packit 63bb0d
	suite.Empty(suite.myStore.blueprints)
Packit 63bb0d
	suite.Empty(suite.myStore.workspace)
Packit 63bb0d
	suite.Empty(suite.myStore.composes)
Packit 63bb0d
	suite.Empty(suite.myStore.sources)
Packit 63bb0d
	suite.Empty(suite.myStore.blueprintsChanges)
Packit 63bb0d
	suite.Empty(suite.myStore.blueprintsCommits)
Packit 63bb0d
	suite.Equal(&suite.dir, suite.myStore.stateDir)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
//Push a blueprint
Packit 63bb0d
func (suite *storeTest) TestPushBlueprint() {
Packit 63bb0d
	suite.myStore.PushBlueprint(suite.myBP, "testing commit")
Packit 63bb0d
	suite.Equal(suite.myBP, suite.myStore.blueprints["testBP"])
Packit 63bb0d
	//force a version bump
Packit 63bb0d
	suite.myStore.PushBlueprint(suite.myBP, "testing commit")
Packit 63bb0d
	suite.Equal("0.0.2", suite.myStore.blueprints["testBP"].Version)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
//List the blueprint
Packit 63bb0d
func (suite *storeTest) TestListBlueprints() {
Packit 63bb0d
	suite.myStore.blueprints["testBP"] = suite.myBP
Packit 63bb0d
	suite.Equal([]string{"testBP"}, suite.myStore.ListBlueprints())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
//Push a blueprint to workspace
Packit 63bb0d
func (suite *storeTest) TestPushBlueprintToWorkspace() {
Packit 63bb0d
	suite.NoError(suite.myStore.PushBlueprintToWorkspace(suite.myBP))
Packit 63bb0d
	suite.Equal(suite.myBP, suite.myStore.workspace["testBP"])
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestGetBlueprint() {
Packit 63bb0d
	suite.myStore.blueprints["testBP"] = suite.myBP
Packit 63bb0d
	suite.myStore.workspace["WIPtestBP"] = suite.myBP
Packit 63bb0d
	//Get pushed BP
Packit 63bb0d
	actualBP, inWorkspace := suite.myStore.GetBlueprint("testBP")
Packit 63bb0d
	suite.Equal(&suite.myBP, actualBP)
Packit 63bb0d
	suite.False(inWorkspace)
Packit 63bb0d
	//Get BP in worskapce
Packit 63bb0d
	actualBP, inWorkspace = suite.myStore.GetBlueprint("WIPtestBP")
Packit 63bb0d
	suite.Equal(&suite.myBP, actualBP)
Packit 63bb0d
	suite.True(inWorkspace)
Packit 63bb0d
	//Try to get a non existing BP
Packit 63bb0d
	actualBP, inWorkspace = suite.myStore.GetBlueprint("Non_existing_BP")
Packit 63bb0d
	suite.Empty(actualBP)
Packit 63bb0d
	suite.False(inWorkspace)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestGetBlueprintCommited() {
Packit 63bb0d
	suite.myStore.blueprints["testBP"] = suite.myBP
Packit 63bb0d
	//Get pushed BP
Packit 63bb0d
	actualBP := suite.myStore.GetBlueprintCommitted("testBP")
Packit 63bb0d
	suite.Equal(&suite.myBP, actualBP)
Packit 63bb0d
	//Try to get workspace BP
Packit 63bb0d
	actualBP = suite.myStore.GetBlueprintCommitted("WIPtestBP")
Packit 63bb0d
	suite.Empty(actualBP)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestGetBlueprintChanges() {
Packit 63bb0d
	suite.myStore.blueprintsCommits["testBP"] = []string{"firstCommit", "secondCommit"}
Packit 63bb0d
	actualChanges := suite.myStore.GetBlueprintChanges("testBP")
Packit 63bb0d
	suite.Len(actualChanges, 2)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestGetBlueprintChange() {
Packit 63bb0d
	Commit := make(map[string]blueprint.Change)
Packit 63bb0d
	Commit[suite.CommitHash] = suite.myChange
Packit 63bb0d
	suite.myStore.blueprintsCommits["testBP"] = []string{suite.CommitHash}
Packit 63bb0d
	suite.myStore.blueprintsChanges["testBP"] = Commit
Packit 63bb0d
Packit 63bb0d
	actualChange, err := suite.myStore.GetBlueprintChange("testBP", suite.CommitHash)
Packit 63bb0d
	suite.NoError(err)
Packit 63bb0d
	expectedChange := suite.myChange
Packit 63bb0d
	suite.Equal(&expectedChange, actualChange)
Packit 63bb0d
Packit 63bb0d
	//Try to get non existing BP
Packit 63bb0d
	actualChange, err = suite.myStore.GetBlueprintChange("Non_existing_BP", suite.CommitHash)
Packit 63bb0d
	suite.Nil(actualChange)
Packit 63bb0d
	suite.EqualError(err, "Unknown blueprint")
Packit 63bb0d
Packit 63bb0d
	//Try to get a non existing Commit
Packit 63bb0d
	actualChange, err = suite.myStore.GetBlueprintChange("testBP", "Non_existing_commit")
Packit 63bb0d
	suite.Nil(actualChange)
Packit 63bb0d
	suite.EqualError(err, "Unknown commit")
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestTagBlueprint() {
Packit 63bb0d
	Commit := make(map[string]blueprint.Change)
Packit 63bb0d
	Commit[suite.CommitHash] = suite.myChange
Packit 63bb0d
	suite.myStore.blueprints["testBP"] = suite.myBP
Packit 63bb0d
	suite.myStore.blueprintsCommits["testBP"] = []string{suite.CommitHash}
Packit 63bb0d
	suite.myStore.blueprintsChanges["testBP"] = Commit
Packit 63bb0d
Packit 63bb0d
	//Check that the blueprints change has no revision
Packit 63bb0d
	suite.Nil(suite.myStore.blueprintsChanges["testBP"][suite.CommitHash].Revision)
Packit 63bb0d
	suite.NoError(suite.myStore.TagBlueprint("testBP"))
Packit 63bb0d
	//The blueprints change should have a revision now
Packit 63bb0d
	actualRevision := suite.myStore.blueprintsChanges["testBP"][suite.CommitHash].Revision
Packit 63bb0d
	suite.Equal(1, *actualRevision)
Packit 63bb0d
	//Try to tag it again (should not change)
Packit 63bb0d
	suite.NoError(suite.myStore.TagBlueprint("testBP"))
Packit 63bb0d
	suite.Equal(1, *actualRevision)
Packit 63bb0d
	//Try to tag a non existing BNP
Packit 63bb0d
	suite.EqualError(suite.myStore.TagBlueprint("Non_existing_BP"), "Unknown blueprint")
Packit 63bb0d
	//Remove commits from a blueprint and try to tag it
Packit 63bb0d
	suite.myStore.blueprintsCommits["testBP"] = []string{}
Packit 63bb0d
	suite.EqualError(suite.myStore.TagBlueprint("testBP"), "No commits for blueprint")
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestDeleteBlueprint() {
Packit 63bb0d
	suite.myStore.blueprints["testBP"] = suite.myBP
Packit 63bb0d
	suite.NoError(suite.myStore.DeleteBlueprint("testBP"))
Packit 63bb0d
	suite.Empty(suite.myStore.blueprints)
Packit 63bb0d
	//Try to delete again (should return an error)
Packit 63bb0d
	suite.EqualError(suite.myStore.DeleteBlueprint("testBP"), "Unknown blueprint: testBP")
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestDeleteBlueprintFromWorkspace() {
Packit 63bb0d
	suite.myStore.workspace["WIPtestBP"] = suite.myBP
Packit 63bb0d
	suite.NoError(suite.myStore.DeleteBlueprintFromWorkspace("WIPtestBP"))
Packit 63bb0d
	suite.Empty(suite.myStore.workspace)
Packit 63bb0d
	//Try to delete again (should return an error)
Packit 63bb0d
	suite.EqualError(suite.myStore.DeleteBlueprintFromWorkspace("WIPtestBP"), "Unknown blueprint: WIPtestBP")
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestPushCompose() {
Packit 63bb0d
	testID := uuid.New()
Packit 63bb0d
	err := suite.myStore.PushCompose(testID, suite.myManifest, suite.myImageType, &suite.myBP, 123, nil, uuid.New())
Packit 63bb0d
	suite.NoError(err)
Packit 63bb0d
	suite.Panics(func() {
Packit 63bb0d
		err = suite.myStore.PushCompose(testID, suite.myManifest, suite.myImageType, &suite.myBP, 123, []*target.Target{suite.myTarget}, uuid.New())
Packit 63bb0d
	})
Packit 63bb0d
	suite.NoError(err)
Packit 63bb0d
	testID = uuid.New()
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestPushTestCompose() {
Packit 63bb0d
	ID := uuid.New()
Packit 63bb0d
	err := suite.myStore.PushTestCompose(ID, suite.myManifest, suite.myImageType, &suite.myBP, 123, nil, true)
Packit 63bb0d
	suite.NoError(err)
Packit 63bb0d
	suite.Equal(common.ImageBuildState(2), suite.myStore.composes[ID].ImageBuild.QueueStatus)
Packit 63bb0d
	ID = uuid.New()
Packit 63bb0d
	err = suite.myStore.PushTestCompose(ID, suite.myManifest, suite.myImageType, &suite.myBP, 123, []*target.Target{suite.myTarget}, false)
Packit 63bb0d
	suite.NoError(err)
Packit 63bb0d
	suite.Equal(common.ImageBuildState(3), suite.myStore.composes[ID].ImageBuild.QueueStatus)
Packit 63bb0d
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestGetAllComposes() {
Packit 63bb0d
	suite.myStore.composes = make(map[uuid.UUID]Compose)
Packit 63bb0d
	suite.myStore.composes[uuid.New()] = suite.myCompose
Packit 63bb0d
	compose := suite.myStore.GetAllComposes()
Packit 63bb0d
	suite.Equal(suite.myStore.composes, compose)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestDeleteCompose() {
Packit 63bb0d
	ID := uuid.New()
Packit 63bb0d
	suite.myStore.composes = make(map[uuid.UUID]Compose)
Packit 63bb0d
	suite.myStore.composes[ID] = suite.myCompose
Packit 63bb0d
	err := suite.myStore.DeleteCompose(ID)
Packit 63bb0d
	suite.NoError(err)
Packit 63bb0d
	suite.Equal(suite.myStore.composes, map[uuid.UUID]Compose{})
Packit 63bb0d
	err = suite.myStore.DeleteCompose(ID)
Packit 63bb0d
	suite.Error(err)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestDeleteSourceByName() {
Packit 63bb0d
	suite.myStore.sources = make(map[string]SourceConfig)
Packit 63bb0d
	suite.myStore.sources["testSource"] = suite.mySourceConfig
Packit 63bb0d
	suite.myStore.DeleteSourceByName("testSourceConfig")
Packit 63bb0d
	suite.Equal(map[string]SourceConfig{}, suite.myStore.sources)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestDeleteSourceByID() {
Packit 63bb0d
	suite.myStore.sources = make(map[string]SourceConfig)
Packit 63bb0d
	suite.myStore.sources["testSource"] = suite.mySourceConfig
Packit 63bb0d
	suite.myStore.DeleteSourceByID("testSource")
Packit 63bb0d
	suite.Equal(map[string]SourceConfig{}, suite.myStore.sources)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestPushSource() {
Packit 63bb0d
	expectedSource := map[string]SourceConfig{"testKey": SourceConfig{Name: "testSourceConfig", Type: "", URL: "", CheckGPG: false, CheckSSL: false, System: false}}
Packit 63bb0d
	suite.myStore.PushSource("testKey", suite.mySourceConfig)
Packit 63bb0d
	suite.Equal(expectedSource, suite.myStore.sources)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestListSourcesByName() {
Packit 63bb0d
	suite.myStore.sources = make(map[string]SourceConfig)
Packit 63bb0d
	suite.myStore.sources["testSource"] = suite.mySourceConfig
Packit 63bb0d
	actualSources := suite.myStore.ListSourcesByName()
Packit 63bb0d
	suite.Equal([]string([]string{"testSourceConfig"}), actualSources)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestListSourcesById() {
Packit 63bb0d
	suite.myStore.sources = make(map[string]SourceConfig)
Packit 63bb0d
	suite.myStore.sources["testSource"] = suite.mySourceConfig
Packit 63bb0d
	actualSources := suite.myStore.ListSourcesById()
Packit 63bb0d
	suite.Equal([]string([]string{"testSource"}), actualSources)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestGetSource() {
Packit 63bb0d
	suite.myStore.sources = make(map[string]SourceConfig)
Packit 63bb0d
	suite.myStore.sources["testSource"] = suite.mySourceConfig
Packit 63bb0d
	expectedSource := SourceConfig(SourceConfig{Name: "testSourceConfig", Type: "", URL: "", CheckGPG: false, CheckSSL: false, System: false})
Packit 63bb0d
	actualSource := suite.myStore.GetSource("testSource")
Packit 63bb0d
	suite.Equal(&expectedSource, actualSource)
Packit 63bb0d
	actualSource = suite.myStore.GetSource("nonExistingSource")
Packit 63bb0d
	suite.Nil(actualSource)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestGetAllSourcesByName() {
Packit 63bb0d
	suite.myStore.sources = make(map[string]SourceConfig)
Packit 63bb0d
	suite.myStore.sources["testSource"] = suite.mySourceConfig
Packit 63bb0d
	expectedSource := map[string]SourceConfig{"testSourceConfig": SourceConfig{Name: "testSourceConfig", Type: "", URL: "", CheckGPG: false, CheckSSL: false, System: false}}
Packit 63bb0d
	actualSource := suite.myStore.GetAllSourcesByName()
Packit 63bb0d
	suite.Equal(expectedSource, actualSource)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestGetAllSourcesByID() {
Packit 63bb0d
	suite.myStore.sources = make(map[string]SourceConfig)
Packit 63bb0d
	suite.myStore.sources["testSource"] = suite.mySourceConfig
Packit 63bb0d
	expectedSource := map[string]SourceConfig{"testSource": SourceConfig{Name: "testSourceConfig", Type: "", URL: "", CheckGPG: false, CheckSSL: false, System: false}}
Packit 63bb0d
	actualSource := suite.myStore.GetAllSourcesByID()
Packit 63bb0d
	suite.Equal(expectedSource, actualSource)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestNewSourceConfigWithBaseURL() {
Packit 63bb0d
	myRepoConfig := rpmmd.RepoConfig{
Packit 63bb0d
		Name:     "testRepo",
Packit 63bb0d
		BaseURL:  "testURL",
Packit 63bb0d
		CheckGPG: true,
Packit 63bb0d
	}
Packit 63bb0d
	expectedSource := SourceConfig{Name: "testRepo", Type: "yum-baseurl", URL: "testURL", CheckGPG: true, CheckSSL: true, System: true}
Packit 63bb0d
	actualSource := NewSourceConfig(myRepoConfig, true)
Packit 63bb0d
	suite.Equal(expectedSource, actualSource)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestNewSourceConfigWithMetaLink() {
Packit 63bb0d
	myRepoConfig := rpmmd.RepoConfig{
Packit 63bb0d
		Name:     "testRepo",
Packit 63bb0d
		Metalink: "testURL",
Packit 63bb0d
		CheckGPG: true,
Packit 63bb0d
	}
Packit 63bb0d
	expectedSource := SourceConfig{Name: "testRepo", Type: "yum-metalink", URL: "testURL", CheckGPG: true, CheckSSL: true, System: true}
Packit 63bb0d
	actualSource := NewSourceConfig(myRepoConfig, true)
Packit 63bb0d
	suite.Equal(expectedSource, actualSource)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestNewSourceConfigWithMirrorList() {
Packit 63bb0d
	myRepoConfig := rpmmd.RepoConfig{
Packit 63bb0d
		Name:       "testRepo",
Packit 63bb0d
		MirrorList: "testURL",
Packit 63bb0d
	}
Packit 63bb0d
	expectedSource := SourceConfig{Name: "testRepo", Type: "yum-mirrorlist", URL: "testURL", CheckGPG: false, CheckSSL: true, System: true}
Packit 63bb0d
	actualSource := NewSourceConfig(myRepoConfig, true)
Packit 63bb0d
	suite.Equal(expectedSource, actualSource)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestRepoConfigBaseURL() {
Packit 63bb0d
	expectedRepo := rpmmd.RepoConfig{Name: "testSourceConfig", BaseURL: "testURL", Metalink: "", MirrorList: "", GPGKey: "", IgnoreSSL: true, MetadataExpire: ""}
Packit 63bb0d
	suite.mySourceConfig.Type = "yum-baseurl"
Packit 63bb0d
	suite.mySourceConfig.URL = "testURL"
Packit 63bb0d
	actualRepo := suite.mySourceConfig.RepoConfig("testSourceConfig")
Packit 63bb0d
	suite.Equal(expectedRepo, actualRepo)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestRepoConfigMetalink() {
Packit 63bb0d
	expectedRepo := rpmmd.RepoConfig{Name: "testSourceConfig", BaseURL: "", Metalink: "testURL", MirrorList: "", GPGKey: "", IgnoreSSL: true, MetadataExpire: ""}
Packit 63bb0d
	suite.mySourceConfig.Type = "yum-metalink"
Packit 63bb0d
	suite.mySourceConfig.URL = "testURL"
Packit 63bb0d
	actualRepo := suite.mySourceConfig.RepoConfig("testSourceConfig")
Packit 63bb0d
	suite.Equal(expectedRepo, actualRepo)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (suite *storeTest) TestRepoConfigMirrorlist() {
Packit 63bb0d
	expectedRepo := rpmmd.RepoConfig{Name: "testSourceConfig", BaseURL: "", Metalink: "", MirrorList: "testURL", GPGKey: "", IgnoreSSL: true, MetadataExpire: ""}
Packit 63bb0d
	suite.mySourceConfig.Type = "yum-mirrorlist"
Packit 63bb0d
	suite.mySourceConfig.URL = "testURL"
Packit 63bb0d
	actualRepo := suite.mySourceConfig.RepoConfig("testSourceConfig")
Packit 63bb0d
	suite.Equal(expectedRepo, actualRepo)
Packit 63bb0d
}
Packit 63bb0d
func TestStore(t *testing.T) {
Packit 63bb0d
	suite.Run(t, new(storeTest))
Packit 63bb0d
}