Skip to content

Commit a838050

Browse files
committed
chore: Refactoring, fix tests.
1 parent 2df1a84 commit a838050

File tree

7 files changed

+33
-16
lines changed

7 files changed

+33
-16
lines changed

internal/dto/fileresource/fileResource.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package fileresource
22

3-
//FileResource representation of file resource
3+
// FileResource representation of file resource
44
type FileResource struct {
55
//File name if exists, else empty
66
Name string
@@ -10,4 +10,7 @@ type FileResource struct {
1010

1111
//File content
1212
Content []byte
13+
14+
//Type of the API specification file (json/yaml ...)
15+
Type AsdFileType
1316
}

internal/parse/converter.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
//
1212
//go:generate mockgen -source=converter.go -destination=./mocks/converter.go -package=parse
1313
type Converter interface {
14-
Convert(content []byte, fileType fileresource.AsdFileType) (*apiSpecDoc.ApiSpecDoc, error)
14+
Convert(file *fileresource.FileResource) (*apiSpecDoc.ApiSpecDoc, error)
1515
}
1616

1717
type ConverterImpl struct {
@@ -20,13 +20,13 @@ type ConverterImpl struct {
2020
}
2121

2222
// Convert gets bytes slice with json/yaml content and a filetype matching the type of the content and returns parsed ApiSpecDoc.
23-
func (c *ConverterImpl) Convert(content []byte, fileType fileresource.AsdFileType) (*apiSpecDoc.ApiSpecDoc, error) {
23+
func (c *ConverterImpl) Convert(file *fileresource.FileResource) (*apiSpecDoc.ApiSpecDoc, error) {
2424
//Just example
25-
parser, ok := c.parsers[fileType]
25+
parser, ok := c.parsers[file.Type]
2626
if !ok {
2727
return nil, errors.New("file type not supported")
2828
}
29-
apiSpec, err := parser.parse(content)
29+
apiSpec, err := parser.parse(file.Content)
3030
if err != nil {
3131
return nil, err
3232
}
@@ -37,7 +37,7 @@ func (c *ConverterImpl) Convert(content []byte, fileType fileresource.AsdFileTyp
3737
func NewConverter(parsers []Parser) Converter {
3838
parsersMap := make(map[fileresource.AsdFileType]Parser)
3939
for _, parser := range parsers {
40-
parsers[parser.getType()] = parser
40+
parsersMap[parser.getType()] = parser
4141
}
4242
return &ConverterImpl{
4343
parsers: parsersMap,

internal/parse/converter_test.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package parse
2+
3+
import (
4+
"github.com/stretchr/testify/assert"
5+
"testing"
6+
)
7+
8+
func TestNewConverter(t *testing.T) {
9+
parsers := []Parser{NewYamlOpenApiParser(), NewJsonOpenApiParser()}
10+
converter := NewConverter(parsers)
11+
assert.NotNil(t, converter)
12+
}

internal/parse/mocks/converter.go

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/process/processor.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,10 @@ func (p *UrlProcessorImpl) Process(ctx context.Context, url string) (*apiSpecDoc
3939
if err != nil {
4040
return nil, err
4141
}
42+
file.Type = fileType
4243

4344
//Parse API spec of defined type
44-
apiSpec, err := p.converter.Convert(file.Content, fileType)
45+
apiSpec, err := p.converter.Convert(file)
4546
if err != nil {
4647
return nil, err
4748
}

internal/process/processor_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ func Test_ConverterFail_processReturnsError(t *testing.T) {
7474

7575
loadCall := contentLoader.EXPECT().Load(ctx, url).Times(1).Return(fileResource, nil)
7676
recognizeCall := recognizer.EXPECT().RecognizeFileType(fileResource).After(loadCall).Times(1).Return(fileresource.YamlOpenApi, nil)
77-
converter.EXPECT().Convert(gomock.Any(), gomock.Any()).Times(1).After(recognizeCall).Return(nil, expectedErr)
77+
converter.EXPECT().Convert(gomock.Any()).Times(1).After(recognizeCall).Return(nil, expectedErr)
7878

7979
processor, err := NewProcessor(recognizer, converter, contentLoader)
8080
assert.Nil(t, err)

internal/queue/mocks/listener.go

Lines changed: 5 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)