* INFRA-3570 : Do not show same severity and status in update incident in slack UI * INFRA-3570 : Cyclic dependency fix * INFRA-3570 : Minor changes * INFRA-3570 : Add UT'S * INFRA-3570 : Major refactor * INFRA-3570 : Move all incident status repo functions to new service * INFRA-3570 : Add UT's
72 lines
2.5 KiB
Go
72 lines
2.5 KiB
Go
package impl
|
|
|
|
import (
|
|
"errors"
|
|
"github.com/stretchr/testify/suite"
|
|
"houston/logger"
|
|
"houston/mocks"
|
|
"houston/model/severity"
|
|
"testing"
|
|
)
|
|
|
|
type SeverityServiceSuite struct {
|
|
suite.Suite
|
|
severityRepository *mocks.ISeverityRepositoryMock
|
|
severityService *SeverityService
|
|
}
|
|
|
|
func (suite *SeverityServiceSuite) Test_GetAllActiveSeverities_RepoFailureCase() {
|
|
suite.severityRepository.GetAllActiveSeverityMock.Return(nil, errors.New("error"))
|
|
|
|
severities, err := suite.severityService.GetAllActiveSeverities()
|
|
suite.Nil(severities, "severities should be nil")
|
|
suite.EqualError(err, "error", "error should be error")
|
|
}
|
|
|
|
func (suite *SeverityServiceSuite) Test_GetAllActiveSeverities_SuccessCase() {
|
|
mockSeverityEntities := GetMockSeverityEntities()
|
|
suite.severityRepository.GetAllActiveSeverityMock.Return(mockSeverityEntities, nil)
|
|
|
|
severities, err := suite.severityService.GetAllActiveSeverities()
|
|
suite.Nil(err, "error should be nil")
|
|
suite.NotNil(severities, "severities should not be nil")
|
|
suite.Len(severities, len(*mockSeverityEntities), "length of severities should be equal")
|
|
}
|
|
|
|
func (suite *SeverityServiceSuite) Test_GetSeveritiesNotMatchingIncidentSeverity_RepoFailureCase() {
|
|
suite.severityRepository.GetSeveritiesNotMatchingIncidentSeverityMock.Return(nil, errors.New("error"))
|
|
|
|
severities, err := suite.severityService.GetSeveritiesNotMatchingIncidentSeverity("channelID")
|
|
suite.Nil(severities, "severities should be nil")
|
|
suite.NotNil(err, "error should not be nil")
|
|
}
|
|
|
|
func (suite *SeverityServiceSuite) Test_GetSeveritiesNotMatchingIncidentSeverity_SuccessCase() {
|
|
mockSeverityEntities := *GetMockSeverityEntities()
|
|
suite.severityRepository.GetSeveritiesNotMatchingIncidentSeverityMock.Return(mockSeverityEntities, nil)
|
|
|
|
severities, err := suite.severityService.GetSeveritiesNotMatchingIncidentSeverity("channelID")
|
|
suite.Nil(err, "error should be nil")
|
|
suite.NotNil(severities, "severities should not be nil")
|
|
suite.Len(severities, len(mockSeverityEntities), "length of severities should be equal")
|
|
|
|
}
|
|
|
|
func GetMockSeverityEntities() *[]severity.SeverityEntity {
|
|
return &[]severity.SeverityEntity{
|
|
{Name: "Low", Description: "Low severity"},
|
|
{Name: "Medium", Description: "Medium severity"},
|
|
{Name: "High", Description: "High severity"},
|
|
}
|
|
}
|
|
|
|
func (suite *SeverityServiceSuite) SetupSuite() {
|
|
logger.InitLogger()
|
|
suite.severityRepository = mocks.NewISeverityRepositoryMock(suite.T())
|
|
suite.severityService = NewSeverityService(suite.severityRepository)
|
|
}
|
|
|
|
func TestSeverityService(t *testing.T) {
|
|
suite.Run(t, new(SeverityServiceSuite))
|
|
}
|