Skip to content

Commit 01cb3c1

Browse files
wip
1 parent b8b9eae commit 01cb3c1

File tree

9 files changed

+234
-246
lines changed

9 files changed

+234
-246
lines changed

cmd/init.go

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import (
1818

1919
const CodacyApiBase = "https://app.codacy.com"
2020

21-
var codacyRepositoryToken string
2221
var codacyApiToken string
2322
var remoteProvider string
2423
var remoteOrganizationName string
@@ -136,24 +135,14 @@ func cliConfigFileTemplate(cliLocalMode bool) string {
136135
return fmt.Sprintf(`mode: %s`, cliModeString)
137136
}
138137

139-
func buildRepositoryConfigurationFiles(token domain.Token) error {
140-
fmt.Println("Building repository configuration files ...")
141-
switch token := token.(type) {
142-
case domain.ApiToken:
143-
return buildRepositoryConfigurationFilesFromApiToken(token)
144-
default:
145-
return fmt.Errorf("unknown token type: %T", token)
146-
}
147-
}
148-
149-
func buildRepositoryConfigurationFilesFromApiToken(token domain.ApiToken) error {
138+
func buildRepositoryConfigurationFiles(token domain.ApiToken) error {
150139
fmt.Println("Fetching repository configuration from codacy using api token ...")
151140

152141
client := &http.Client{
153142
Timeout: 10 * time.Second,
154143
}
155144

156-
apiTools, err := tools.GetRepositoryTools(token, remoteProvider, remoteOrganizationName, remoteRepositoryName)
145+
apiTools, err := tools.GetRepositoryTools(CodacyApiBase, token, remoteProvider, remoteOrganizationName, remoteRepositoryName)
157146
if err != nil {
158147
return err
159148
}

domain/patternConfiguration.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ type ParameterConfiguration struct {
66
}
77

88
type PatternDefinition struct {
9-
Id string `json:"id"`
10-
Parameters []ParameterConfiguration `json:"parameters"`
9+
Id string `json:"id"`
1110
}
1211

1312
type PatternConfiguration struct {

domain/token.go

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,5 @@
11
package domain
22

3-
type Token interface {
4-
Value() string
5-
}
6-
7-
type ProjectToken struct {
8-
value string
9-
}
10-
11-
func (t ProjectToken) Value() string {
12-
return t.value
13-
}
14-
15-
func NewProjectToken(value string) ProjectToken {
16-
return ProjectToken{value: value}
17-
}
18-
193
type ApiToken struct {
204
value string
215
}

domain/toolName.go

Lines changed: 0 additions & 9 deletions
This file was deleted.

tools/eslintConfigCreator_test.go

Lines changed: 42 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
package tools
22

33
import (
4+
"codacy/cli-v2/domain"
45
"testing"
56

67
"github.com/stretchr/testify/assert"
78
)
89

9-
func testConfig(t *testing.T, configuration ToolConfiguration, expected string) {
10+
func testConfig(t *testing.T, configuration []domain.PatternConfiguration, expected string) {
1011
actual := CreateEslintConfig(configuration)
1112
assert.Equal(t, expected, actual)
1213
}
1314

1415
func TestCreateEslintConfigEmptyConfig(t *testing.T) {
1516
testConfig(t,
16-
ToolConfiguration{},
17+
[]domain.PatternConfiguration{},
1718
`export default [
1819
{
1920
rules: {
@@ -24,10 +25,10 @@ func TestCreateEslintConfigEmptyConfig(t *testing.T) {
2425

2526
func TestCreateEslintConfigConfig1(t *testing.T) {
2627
testConfig(t,
27-
ToolConfiguration{
28-
PatternsConfiguration: []PatternConfiguration{
29-
{
30-
PatternId: "ESLint8_semi",
28+
[]domain.PatternConfiguration{
29+
{
30+
PatternDefinition: domain.PatternDefinition{
31+
Id: "ESLint8_semi",
3132
},
3233
},
3334
},
@@ -42,15 +43,15 @@ func TestCreateEslintConfigConfig1(t *testing.T) {
4243

4344
func TestCreateEslintConfigUnnamedParam(t *testing.T) {
4445
testConfig(t,
45-
ToolConfiguration{
46-
PatternsConfiguration: []PatternConfiguration{
47-
{
48-
PatternId: "ESLint8_semi",
49-
ParameterConfigurations: []PatternParameterConfiguration{
50-
{
51-
Name: "unnamedParam",
52-
Value: "never",
53-
},
46+
[]domain.PatternConfiguration{
47+
{
48+
PatternDefinition: domain.PatternDefinition{
49+
Id: "ESLint8_semi",
50+
},
51+
Parameters: []domain.ParameterConfiguration{
52+
{
53+
Name: "unnamedParam",
54+
Value: "never",
5455
},
5556
},
5657
},
@@ -66,15 +67,15 @@ func TestCreateEslintConfigUnnamedParam(t *testing.T) {
6667

6768
func TestCreateEslintConfigNamedParam(t *testing.T) {
6869
testConfig(t,
69-
ToolConfiguration{
70-
PatternsConfiguration: []PatternConfiguration{
71-
{
72-
PatternId: "consistent-return",
73-
ParameterConfigurations: []PatternParameterConfiguration{
74-
{
75-
Name: "treatUndefinedAsUnspecified",
76-
Value: "false",
77-
},
70+
[]domain.PatternConfiguration{
71+
{
72+
PatternDefinition: domain.PatternDefinition{
73+
Id: "consistent-return",
74+
},
75+
Parameters: []domain.ParameterConfiguration{
76+
{
77+
Name: "treatUndefinedAsUnspecified",
78+
Value: "false",
7879
},
7980
},
8081
},
@@ -90,19 +91,19 @@ func TestCreateEslintConfigNamedParam(t *testing.T) {
9091

9192
func TestCreateEslintConfigUnnamedAndNamedParam(t *testing.T) {
9293
testConfig(t,
93-
ToolConfiguration{
94-
PatternsConfiguration: []PatternConfiguration{
95-
{
96-
PatternId: "consistent-return",
97-
ParameterConfigurations: []PatternParameterConfiguration{
98-
{
99-
Name: "treatUndefinedAsUnspecified",
100-
Value: "false",
101-
},
102-
{
103-
Name: "unnamedParam",
104-
Value: "foo",
105-
},
94+
[]domain.PatternConfiguration{
95+
{
96+
PatternDefinition: domain.PatternDefinition{
97+
Id: "consistent-return",
98+
},
99+
Parameters: []domain.ParameterConfiguration{
100+
{
101+
Name: "treatUndefinedAsUnspecified",
102+
Value: "false",
103+
},
104+
{
105+
Name: "unnamedParam",
106+
Value: "foo",
106107
},
107108
},
108109
},
@@ -118,10 +119,10 @@ func TestCreateEslintConfigUnnamedAndNamedParam(t *testing.T) {
118119

119120
func TestCreateEslintConfigSupportPlugins(t *testing.T) {
120121
testConfig(t,
121-
ToolConfiguration{
122-
PatternsConfiguration: []PatternConfiguration{
123-
{
124-
PatternId: "plugin/consistent-return",
122+
[]domain.PatternConfiguration{
123+
{
124+
PatternDefinition: domain.PatternDefinition{
125+
Id: "plugin/consistent-return",
125126
},
126127
},
127128
},

tools/getTools.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@ import (
1010
"time"
1111
)
1212

13-
func GetRepositoryTools(apiToken domain.ApiToken, provider string, organization string, repository string) ([]Tool, error) {
13+
func GetRepositoryTools(codacyBase string, apiToken domain.ApiToken, provider string, organization string, repository string) ([]Tool, error) {
1414
client := &http.Client{
1515
Timeout: 10 * time.Second,
1616
}
1717

18-
url := fmt.Sprintf("https://api.codacy.com/api/v3/analysis/organizations/%s/%s/repositories/%s/tools",
18+
url := fmt.Sprintf("%s/api/v3/analysis/organizations/%s/%s/repositories/%s/tools",
19+
codacyBase,
1920
provider,
2021
organization,
2122
repository)

tools/getTools_test.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
package tools
1+
// package tools
22

3-
import (
4-
"testing"
3+
// import (
4+
// "testing"
55

6-
"github.com/stretchr/testify/assert"
7-
)
6+
// "github.com/stretchr/testify/assert"
7+
// )
88

9-
func TestGetTools(t *testing.T) {
10-
obtained, err := GetTools()
9+
// func TestGetTools(t *testing.T) {
10+
// obtained, err := GetTools()
1111

12-
assert.Nil(t, err)
12+
// assert.Nil(t, err)
1313

14-
assert.Contains(t, obtained, Tool{
15-
Uuid: "f8b29663-2cb2-498d-b923-a10c6a8c05cd",
16-
Name: "ESLint",
17-
Version: "8.57.0",
18-
})
19-
}
14+
// assert.Contains(t, obtained, Tool{
15+
// Uuid: "f8b29663-2cb2-498d-b923-a10c6a8c05cd",
16+
// Name: "ESLint",
17+
// Version: "8.57.0",
18+
// })
19+
// }

tools/pmdConfigCreator_test.go

Lines changed: 43 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import (
77
"strings"
88
"testing"
99

10+
"codacy/cli-v2/domain"
11+
1012
"github.com/stretchr/testify/assert"
1113
)
1214

@@ -37,37 +39,41 @@ type PMDProperty struct {
3739

3840
func TestCreatePmdConfig(t *testing.T) {
3941
// Setup test configuration with patterns
40-
config := ToolConfiguration{
41-
PatternsConfiguration: []PatternConfiguration{
42-
{
43-
PatternId: "java/codestyle/AtLeastOneConstructor",
44-
ParameterConfigurations: []PatternParameterConfiguration{
45-
{
46-
Name: "enabled",
47-
Value: "true",
48-
},
42+
config := []domain.PatternConfiguration{
43+
{
44+
PatternDefinition: domain.PatternDefinition{
45+
Id: "java/codestyle/AtLeastOneConstructor",
46+
},
47+
Parameters: []domain.ParameterConfiguration{
48+
{
49+
Name: "enabled",
50+
Value: "true",
4951
},
5052
},
51-
{
52-
PatternId: "java/design/UnusedPrivateField",
53-
ParameterConfigurations: []PatternParameterConfiguration{
54-
{
55-
Name: "enabled",
56-
Value: "true",
57-
},
53+
},
54+
{
55+
PatternDefinition: domain.PatternDefinition{
56+
Id: "java/design/UnusedPrivateField",
57+
},
58+
Parameters: []domain.ParameterConfiguration{
59+
{
60+
Name: "enabled",
61+
Value: "true",
5862
},
5963
},
60-
{
61-
PatternId: "java/design/LoosePackageCoupling",
62-
ParameterConfigurations: []PatternParameterConfiguration{
63-
{
64-
Name: "enabled",
65-
Value: "true",
66-
},
67-
{
68-
Name: "packages",
69-
Value: "java.util,java.io",
70-
},
64+
},
65+
{
66+
PatternDefinition: domain.PatternDefinition{
67+
Id: "java/design/LoosePackageCoupling",
68+
},
69+
Parameters: []domain.ParameterConfiguration{
70+
{
71+
Name: "enabled",
72+
Value: "true",
73+
},
74+
{
75+
Name: "packages",
76+
Value: "java.util,java.io",
7177
},
7278
},
7379
},
@@ -105,15 +111,15 @@ func TestCreatePmdConfig(t *testing.T) {
105111
}
106112

107113
func TestCreatePmdConfigWithDisabledRules(t *testing.T) {
108-
config := ToolConfiguration{
109-
PatternsConfiguration: []PatternConfiguration{
110-
{
111-
PatternId: "java/codestyle/AtLeastOneConstructor",
112-
ParameterConfigurations: []PatternParameterConfiguration{
113-
{
114-
Name: "enabled",
115-
Value: "false",
116-
},
114+
config := []domain.PatternConfiguration{
115+
{
116+
PatternDefinition: domain.PatternDefinition{
117+
Id: "java/codestyle/AtLeastOneConstructor",
118+
},
119+
Parameters: []domain.ParameterConfiguration{
120+
{
121+
Name: "enabled",
122+
Value: "false",
117123
},
118124
},
119125
},
@@ -163,9 +169,7 @@ func TestCreatePmdConfigEmpty(t *testing.T) {
163169
}
164170
defer os.Chdir(cwd)
165171

166-
config := ToolConfiguration{
167-
PatternsConfiguration: []PatternConfiguration{},
168-
}
172+
config := []domain.PatternConfiguration{}
169173

170174
obtainedConfig := CreatePmdConfig(config)
171175

0 commit comments

Comments
 (0)