363 lines
16 KiB
Go
363 lines
16 KiB
Go
package main
|
|
|
|
import (
|
|
"errors"
|
|
"testing"
|
|
|
|
"go.uber.org/mock/gomock"
|
|
"src.opensuse.org/autogits/common"
|
|
"src.opensuse.org/autogits/common/gitea-generated/models"
|
|
mock_common "src.opensuse.org/autogits/common/mock"
|
|
)
|
|
|
|
func TestOpenPR(t *testing.T) {
|
|
pr := PRProcessor{
|
|
config: &common.AutogitConfig{
|
|
Reviewers: []string{"reviewer1", "reviewer2"},
|
|
Branch: "branch",
|
|
Organization: "test",
|
|
GitProjectName: "prj#testing",
|
|
},
|
|
}
|
|
|
|
event := &common.PullRequestWebhookEvent{
|
|
Action: "opened",
|
|
Number: 1,
|
|
Pull_Request: &common.PullRequest{
|
|
Id: 1,
|
|
Number: 1,
|
|
Base: common.Head{
|
|
Ref: "branch",
|
|
Sha: "testing",
|
|
Repo: &common.Repository{
|
|
Name: "testRepo",
|
|
Default_Branch: "main1",
|
|
Owner: &common.Organization{
|
|
Username: "test",
|
|
},
|
|
},
|
|
},
|
|
Head: common.Head{
|
|
Ref: "branch",
|
|
Sha: "testing",
|
|
Repo: &common.Repository{
|
|
Name: "testRepo",
|
|
Default_Branch: "main1",
|
|
},
|
|
},
|
|
},
|
|
Repository: &common.Repository{
|
|
Owner: &common.Organization{
|
|
Username: "test",
|
|
},
|
|
},
|
|
}
|
|
|
|
modelPR := &models.PullRequest{
|
|
ID: 1,
|
|
Index: 1,
|
|
State: "open",
|
|
User: &models.User{UserName: "testuser"},
|
|
RequestedReviewers: []*models.User{},
|
|
Base: &models.PRBranchInfo{
|
|
Ref: "branch",
|
|
Sha: "testing",
|
|
Repo: &models.Repository{
|
|
Name: "testRepo",
|
|
Owner: &models.User{
|
|
UserName: "test",
|
|
},
|
|
},
|
|
},
|
|
Head: &models.PRBranchInfo{
|
|
Ref: "branch",
|
|
Sha: "testing",
|
|
Repo: &models.Repository{
|
|
Name: "testRepo",
|
|
Owner: &models.User{
|
|
UserName: "test",
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
mockCreatePR := &models.PullRequest{
|
|
ID: 2,
|
|
Index: 2,
|
|
Body: "Forwarded PRs: testRepo\n\nPR: test/testRepo!1",
|
|
User: &models.User{UserName: "testuser"},
|
|
RequestedReviewers: []*models.User{},
|
|
Base: &models.PRBranchInfo{
|
|
Name: "testing",
|
|
Repo: &models.Repository{
|
|
Name: "prjcopy",
|
|
Owner: &models.User{UserName: "test"},
|
|
},
|
|
},
|
|
Head: &models.PRBranchInfo{
|
|
Sha: "head",
|
|
},
|
|
}
|
|
|
|
CurrentUser = &models.User{
|
|
UserName: "testuser",
|
|
}
|
|
|
|
git := &common.GitHandlerImpl{
|
|
GitCommiter: "tester",
|
|
GitEmail: "test@suse.com",
|
|
}
|
|
|
|
t.Run("PR git opened request against PrjGit == no action", func(t *testing.T) {
|
|
ctl := gomock.NewController(t)
|
|
gitea := mock_common.NewMockGitea(ctl)
|
|
Gitea = gitea
|
|
|
|
git.GitPath = t.TempDir()
|
|
|
|
pr.config.GitProjectName = "testRepo#testing"
|
|
event.Repository.Name = "testRepo"
|
|
mockGit := mock_common.NewMockGit(ctl)
|
|
pr.git = mockGit
|
|
|
|
mockGitGen := mock_common.NewMockGitHandlerGenerator(ctl)
|
|
GitHandler = mockGitGen
|
|
mockGitGen.EXPECT().CreateGitHandler(gomock.Any()).Return(mockGit, nil).AnyTimes()
|
|
|
|
mockGit.EXPECT().GitClone(gomock.Any(), gomock.Any(), gomock.Any()).Return("origin", nil).AnyTimes()
|
|
mockGit.EXPECT().GitBranchHead(gomock.Any(), gomock.Any()).Return("head", nil).AnyTimes()
|
|
mockGit.EXPECT().GitSubmoduleList(gomock.Any(), gomock.Any()).Return(map[string]string{"testRepo": "testing"}, nil).AnyTimes()
|
|
mockGit.EXPECT().GitExecOrPanic(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes()
|
|
mockGit.EXPECT().GitCatFile(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, nil).AnyTimes()
|
|
mockGit.EXPECT().Close().Return(nil).AnyTimes()
|
|
|
|
gitea.EXPECT().GetTimeline(gomock.Any(), gomock.Any(), gomock.Any()).Return([]*models.TimelineComment{}, nil).AnyTimes()
|
|
gitea.EXPECT().GetPullRequest(gomock.Any(), gomock.Any(), gomock.Any()).Return(modelPR, nil).AnyTimes()
|
|
gitea.EXPECT().UpdatePullRequest(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(modelPR, nil).AnyTimes()
|
|
gitea.EXPECT().SetLabels(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return([]*models.Label{}, nil).AnyTimes()
|
|
gitea.EXPECT().SetRepoOptions(gomock.Any(), gomock.Any(), gomock.Any()).Return(&models.Repository{SSHURL: "git@src.opensuse.org:test/prj.git"}, nil).AnyTimes()
|
|
gitea.EXPECT().GetPullRequestReviews(gomock.Any(), gomock.Any(), gomock.Any()).Return([]*models.PullReview{}, nil).AnyTimes()
|
|
gitea.EXPECT().GetRepository(gomock.Any(), gomock.Any()).Return(&models.Repository{
|
|
Owner: &models.User{UserName: "test"},
|
|
Name: "prjcopy",
|
|
SSHURL: "git@src.opensuse.org:test/prj.git",
|
|
}, nil).AnyTimes()
|
|
|
|
gitea.EXPECT().CreateRepositoryIfNotExist(gomock.Any(), gomock.Any(), gomock.Any()).Return(&models.Repository{SSHURL: "git@src.opensuse.org:test/prj.git"}, nil).AnyTimes()
|
|
gitea.EXPECT().CreatePullRequestIfNotExist(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(mockCreatePR, nil, true).AnyTimes()
|
|
gitea.EXPECT().RequestReviews(gomock.Any(), gomock.Any()).Return(nil, nil).AnyTimes()
|
|
gitea.EXPECT().FetchMaintainershipDirFile(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, "", nil).AnyTimes()
|
|
gitea.EXPECT().FetchMaintainershipFile(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, "", nil).AnyTimes()
|
|
|
|
if err := pr.Process(modelPR); err != nil {
|
|
t.Error("Error PrjGit opened request. Should be no error.", err)
|
|
}
|
|
})
|
|
|
|
t.Run("Open PrjGit PR", func(t *testing.T) {
|
|
ctl := gomock.NewController(t)
|
|
gitea := mock_common.NewMockGitea(ctl)
|
|
|
|
Gitea = gitea
|
|
|
|
event.Repository.Name = "testRepo"
|
|
pr.config.GitProjectName = "prjcopy#testing"
|
|
git.GitPath = t.TempDir()
|
|
|
|
setupGitForTests(t, git)
|
|
|
|
gitea.EXPECT().CreateRepositoryIfNotExist(gomock.Any(), gomock.Any(), gomock.Any()).Return(&models.Repository{SSHURL: "git@src.opensuse.org:test/prj.git"}, nil).AnyTimes()
|
|
gitea.EXPECT().CreatePullRequestIfNotExist(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(mockCreatePR, nil, true).AnyTimes()
|
|
gitea.EXPECT().GetPullRequest(gomock.Any(), gomock.Any(), gomock.Any()).Return(modelPR, nil).AnyTimes()
|
|
gitea.EXPECT().RequestReviews(gomock.Any(), gomock.Any()).Return(nil, nil).AnyTimes()
|
|
gitea.EXPECT().GetPullRequestReviews(gomock.Any(), gomock.Any(), gomock.Any()).Return([]*models.PullReview{}, nil).AnyTimes()
|
|
|
|
gitea.EXPECT().FetchMaintainershipDirFile(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, "", nil).AnyTimes()
|
|
gitea.EXPECT().FetchMaintainershipFile(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, "", nil).AnyTimes()
|
|
|
|
mockGit := mock_common.NewMockGit(ctl)
|
|
pr.git = mockGit
|
|
|
|
mockGitGen := mock_common.NewMockGitHandlerGenerator(ctl)
|
|
GitHandler = mockGitGen
|
|
mockGitGen.EXPECT().CreateGitHandler(gomock.Any()).Return(mockGit, nil).AnyTimes()
|
|
|
|
mockGit.EXPECT().GitClone(gomock.Any(), gomock.Any(), gomock.Any()).Return("origin", nil).AnyTimes()
|
|
mockGit.EXPECT().GitBranchHead(gomock.Any(), gomock.Any()).Return("head", nil).AnyTimes()
|
|
mockGit.EXPECT().GitSubmoduleList(gomock.Any(), gomock.Any()).Return(map[string]string{"testRepo": "testing"}, nil).AnyTimes()
|
|
mockGit.EXPECT().GitExecOrPanic(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes()
|
|
mockGit.EXPECT().GitCatFile(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, nil).AnyTimes()
|
|
mockGit.EXPECT().Close().Return(nil).AnyTimes()
|
|
|
|
gitea.EXPECT().GetTimeline(gomock.Any(), gomock.Any(), gomock.Any()).Return([]*models.TimelineComment{}, nil).AnyTimes()
|
|
gitea.EXPECT().GetPullRequest(gomock.Any(), gomock.Any(), gomock.Any()).Return(modelPR, nil).AnyTimes()
|
|
gitea.EXPECT().UpdatePullRequest(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(modelPR, nil).AnyTimes()
|
|
gitea.EXPECT().SetLabels(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return([]*models.Label{}, nil).AnyTimes()
|
|
gitea.EXPECT().SetRepoOptions(gomock.Any(), gomock.Any(), gomock.Any()).Return(&models.Repository{SSHURL: "git@src.opensuse.org:test/prj.git"}, nil).AnyTimes()
|
|
gitea.EXPECT().GetPullRequestReviews(gomock.Any(), gomock.Any(), gomock.Any()).Return([]*models.PullReview{}, nil).AnyTimes()
|
|
gitea.EXPECT().GetRepository(gomock.Any(), gomock.Any()).Return(&models.Repository{
|
|
Owner: &models.User{UserName: "test"},
|
|
Name: "prjcopy",
|
|
SSHURL: "git@src.opensuse.org:test/prj.git",
|
|
}, nil).AnyTimes()
|
|
|
|
err := pr.Process(modelPR)
|
|
if err != nil {
|
|
t.Error("error:", err)
|
|
}
|
|
})
|
|
|
|
t.Run("Cannot create prjgit repository", func(t *testing.T) {
|
|
ctl := gomock.NewController(t)
|
|
gitea := mock_common.NewMockGitea(ctl)
|
|
|
|
Gitea = gitea
|
|
|
|
event.Repository.Name = "testRepo"
|
|
pr.config.GitProjectName = "prjcopy#testing"
|
|
git.GitPath = t.TempDir()
|
|
|
|
setupGitForTests(t, git)
|
|
failedErr := errors.New("Returned error here")
|
|
gitea.EXPECT().CreateRepositoryIfNotExist(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, failedErr).AnyTimes()
|
|
gitea.EXPECT().CreatePullRequestIfNotExist(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(mockCreatePR, nil, true).AnyTimes()
|
|
|
|
mockGit := mock_common.NewMockGit(ctl)
|
|
pr.git = mockGit
|
|
|
|
gitea.EXPECT().FetchMaintainershipDirFile(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, "", nil).AnyTimes()
|
|
mockGitGen := mock_common.NewMockGitHandlerGenerator(ctl)
|
|
GitHandler = mockGitGen
|
|
mockGitGen.EXPECT().CreateGitHandler(gomock.Any()).Return(mockGit, nil).AnyTimes()
|
|
|
|
mockGit.EXPECT().GitClone(gomock.Any(), gomock.Any(), gomock.Any()).Return("origin", nil).AnyTimes()
|
|
mockGit.EXPECT().GitBranchHead(gomock.Any(), gomock.Any()).Return("head", nil).AnyTimes()
|
|
mockGit.EXPECT().GitSubmoduleList(gomock.Any(), gomock.Any()).Return(map[string]string{"testRepo": "testing"}, nil).AnyTimes()
|
|
mockGit.EXPECT().GitExecOrPanic(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes()
|
|
mockGit.EXPECT().GitCatFile(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, nil).AnyTimes()
|
|
gitea.EXPECT().RequestReviews(gomock.Any(), gomock.Any()).Return(nil, nil).AnyTimes()
|
|
mockGit.EXPECT().Close().Return(nil).AnyTimes()
|
|
|
|
gitea.EXPECT().GetTimeline(gomock.Any(), gomock.Any(), gomock.Any()).Return([]*models.TimelineComment{}, nil).AnyTimes()
|
|
gitea.EXPECT().GetPullRequest(gomock.Any(), gomock.Any(), gomock.Any()).Return(modelPR, nil).AnyTimes()
|
|
gitea.EXPECT().UpdatePullRequest(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(modelPR, nil).AnyTimes()
|
|
gitea.EXPECT().SetLabels(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return([]*models.Label{}, nil).AnyTimes()
|
|
gitea.EXPECT().SetRepoOptions(gomock.Any(), gomock.Any(), gomock.Any()).Return(&models.Repository{SSHURL: "git@src.opensuse.org:test/prj.git"}, nil).AnyTimes()
|
|
gitea.EXPECT().GetPullRequestReviews(gomock.Any(), gomock.Any(), gomock.Any()).Return([]*models.PullReview{}, nil).AnyTimes()
|
|
gitea.EXPECT().GetRepository(gomock.Any(), gomock.Any()).Return(&models.Repository{
|
|
Owner: &models.User{UserName: "test"},
|
|
Name: "prjcopy",
|
|
SSHURL: "git@src.opensuse.org:test/prj.git",
|
|
}, nil).AnyTimes()
|
|
|
|
err := pr.Process(modelPR)
|
|
if err != nil {
|
|
t.Error("error:", err)
|
|
}
|
|
})
|
|
t.Run("Cannot create PR", func(t *testing.T) {
|
|
ctl := gomock.NewController(t)
|
|
gitea := mock_common.NewMockGitea(ctl)
|
|
|
|
Gitea = gitea
|
|
|
|
event.Repository.Name = "testRepo"
|
|
pr.config.GitProjectName = "prjcopy#testing"
|
|
git.GitPath = t.TempDir()
|
|
|
|
setupGitForTests(t, git)
|
|
prjgit := &models.Repository{
|
|
SSHURL: "./prj",
|
|
DefaultBranch: "testing",
|
|
}
|
|
failedErr := errors.New("Returned error here")
|
|
gitea.EXPECT().CreateRepositoryIfNotExist(gomock.Any(), gomock.Any(), gomock.Any()).Return(prjgit, nil).AnyTimes()
|
|
gitea.EXPECT().CreatePullRequestIfNotExist(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, failedErr, false)
|
|
|
|
mockGit := mock_common.NewMockGit(ctl)
|
|
pr.git = mockGit
|
|
|
|
gitea.EXPECT().RequestReviews(gomock.Any(), gomock.Any()).Return(nil, nil).AnyTimes()
|
|
mockGitGen := mock_common.NewMockGitHandlerGenerator(ctl)
|
|
GitHandler = mockGitGen
|
|
mockGitGen.EXPECT().CreateGitHandler(gomock.Any()).Return(mockGit, nil).AnyTimes()
|
|
|
|
mockGit.EXPECT().GitClone(gomock.Any(), gomock.Any(), gomock.Any()).Return("origin", nil).AnyTimes()
|
|
mockGit.EXPECT().GitBranchHead(gomock.Any(), gomock.Any()).Return("head", nil).AnyTimes()
|
|
mockGit.EXPECT().GitSubmoduleList(gomock.Any(), gomock.Any()).Return(map[string]string{"testRepo": "testing"}, nil).AnyTimes()
|
|
mockGit.EXPECT().GitExecOrPanic(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes()
|
|
mockGit.EXPECT().GitCatFile(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, nil).AnyTimes()
|
|
mockGit.EXPECT().Close().Return(nil).AnyTimes()
|
|
|
|
gitea.EXPECT().GetTimeline(gomock.Any(), gomock.Any(), gomock.Any()).Return([]*models.TimelineComment{}, nil).AnyTimes()
|
|
gitea.EXPECT().GetPullRequest(gomock.Any(), gomock.Any(), gomock.Any()).Return(modelPR, nil).AnyTimes()
|
|
gitea.EXPECT().UpdatePullRequest(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(modelPR, nil).AnyTimes()
|
|
gitea.EXPECT().SetLabels(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return([]*models.Label{}, nil).AnyTimes()
|
|
gitea.EXPECT().SetRepoOptions(gomock.Any(), gomock.Any(), gomock.Any()).Return(&models.Repository{SSHURL: "git@src.opensuse.org:test/prj.git"}, nil).AnyTimes()
|
|
gitea.EXPECT().GetPullRequestReviews(gomock.Any(), gomock.Any(), gomock.Any()).Return([]*models.PullReview{}, nil).AnyTimes()
|
|
gitea.EXPECT().GetRepository(gomock.Any(), gomock.Any()).Return(&models.Repository{
|
|
Owner: &models.User{UserName: "test"},
|
|
Name: "prjcopy",
|
|
SSHURL: "git@src.opensuse.org:test/prj.git",
|
|
}, nil).AnyTimes()
|
|
|
|
err := pr.Process(modelPR)
|
|
if err != failedErr {
|
|
t.Error("error:", err)
|
|
}
|
|
})
|
|
t.Run("Open PrjGit PR", func(t *testing.T) {
|
|
ctl := gomock.NewController(t)
|
|
gitea := mock_common.NewMockGitea(ctl)
|
|
|
|
Gitea = gitea
|
|
|
|
event.Repository.Name = "testRepo"
|
|
pr.config.GitProjectName = "prjcopy#testing"
|
|
git.GitPath = t.TempDir()
|
|
|
|
setupGitForTests(t, git)
|
|
failedErr := errors.New("Returned error here")
|
|
|
|
gitea.EXPECT().CreateRepositoryIfNotExist(gomock.Any(), gomock.Any(), gomock.Any()).Return(&models.Repository{SSHURL: "git@src.opensuse.org:test/prj.git"}, nil).AnyTimes()
|
|
gitea.EXPECT().GetPullRequest(gomock.Any(), gomock.Any(), gomock.Any()).Return(modelPR, nil).AnyTimes()
|
|
gitea.EXPECT().GetPullRequestReviews(gomock.Any(), gomock.Any(), gomock.Any()).Return([]*models.PullReview{}, nil).AnyTimes()
|
|
gitea.EXPECT().CreatePullRequestIfNotExist(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(mockCreatePR, nil, true).AnyTimes()
|
|
gitea.EXPECT().RequestReviews(gomock.Any(), gomock.Any()).Return(nil, failedErr).AnyTimes()
|
|
|
|
gitea.EXPECT().FetchMaintainershipDirFile(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, "", nil).AnyTimes()
|
|
gitea.EXPECT().FetchMaintainershipFile(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, "", nil).AnyTimes()
|
|
|
|
mockGit := mock_common.NewMockGit(ctl)
|
|
pr.git = mockGit
|
|
|
|
mockGitGen := mock_common.NewMockGitHandlerGenerator(ctl)
|
|
GitHandler = mockGitGen
|
|
mockGitGen.EXPECT().CreateGitHandler(gomock.Any()).Return(mockGit, nil).AnyTimes()
|
|
|
|
mockGit.EXPECT().GitClone(gomock.Any(), gomock.Any(), gomock.Any()).Return("origin", nil).AnyTimes()
|
|
mockGit.EXPECT().GitBranchHead(gomock.Any(), gomock.Any()).Return("head", nil).AnyTimes()
|
|
mockGit.EXPECT().GitSubmoduleList(gomock.Any(), gomock.Any()).Return(map[string]string{"testRepo": "testing"}, nil).AnyTimes()
|
|
mockGit.EXPECT().GitExecOrPanic(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes()
|
|
mockGit.EXPECT().GitCatFile(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, nil).AnyTimes()
|
|
mockGit.EXPECT().Close().Return(nil).AnyTimes()
|
|
|
|
gitea.EXPECT().GetTimeline(gomock.Any(), gomock.Any(), gomock.Any()).Return([]*models.TimelineComment{}, nil).AnyTimes()
|
|
gitea.EXPECT().GetPullRequest(gomock.Any(), gomock.Any(), gomock.Any()).Return(modelPR, nil).AnyTimes()
|
|
gitea.EXPECT().UpdatePullRequest(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(modelPR, nil).AnyTimes()
|
|
gitea.EXPECT().SetLabels(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return([]*models.Label{}, nil).AnyTimes()
|
|
gitea.EXPECT().SetRepoOptions(gomock.Any(), gomock.Any(), gomock.Any()).Return(&models.Repository{SSHURL: "git@src.opensuse.org:test/prj.git"}, nil).AnyTimes()
|
|
gitea.EXPECT().GetPullRequestReviews(gomock.Any(), gomock.Any(), gomock.Any()).Return([]*models.PullReview{}, nil).AnyTimes()
|
|
gitea.EXPECT().GetRepository(gomock.Any(), gomock.Any()).Return(&models.Repository{
|
|
Owner: &models.User{UserName: "test"},
|
|
Name: "prjcopy",
|
|
SSHURL: "git@src.opensuse.org:test/prj.git",
|
|
}, nil).AnyTimes()
|
|
|
|
err := pr.Process(modelPR)
|
|
if err != nil {
|
|
t.Error("error:", err)
|
|
}
|
|
})
|
|
}
|