Skip to content

Commit e7b35fc

Browse files
authored
Merge branch 'develop' into dependabot/go_modules/develop/github.com/blevesearch/bleve/v2-2.5.4
2 parents e933eae + a80d431 commit e7b35fc

File tree

88 files changed

+4372
-762
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+4372
-762
lines changed

config/static/static_config.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@ import (
44
"bytes"
55
"encoding/json"
66
"fmt"
7-
log "github.com/sirupsen/logrus"
87
"mokapi/config/tls"
98
"net/url"
109
"strconv"
1110
"strings"
11+
12+
log "github.com/sirupsen/logrus"
1213
)
1314

1415
type Config struct {

examples/mokapi/kafka.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@ export let events = [
345345
binary: base64.encode([0xa, 0x43, 0x61, 0x72, 0x6f, 0x6c, 0x3a].map(x => String.fromCharCode(x)).join(''))
346346
},
347347
partition: 0,
348-
messageId: 'shopOrder'
348+
messageId: 'avro'
349349
}
350350
}
351351
]

examples/mokapi/services_http.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -591,6 +591,11 @@ export let events = [
591591
name: 'Accept-Encoding',
592592
type: 'header',
593593
raw: 'gzip, deflate'
594+
},
595+
{
596+
name: 'LongHeader',
597+
type: 'header',
598+
raw: 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.'
594599
}
595600
],
596601
contentType: "application/xml",

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ require (
99
github.com/bradleyfalzon/ghinstallation/v2 v2.17.0
1010
github.com/brianvoe/gofakeit/v6 v6.28.0
1111
github.com/dop251/goja v0.0.0-20250309171923-bcd7cc6bf64c
12-
github.com/evanw/esbuild v0.25.11
12+
github.com/evanw/esbuild v0.25.12
1313
github.com/fsnotify/fsnotify v1.9.0
1414
github.com/go-co-op/gocron v1.37.0
1515
github.com/go-git/go-git/v5 v5.16.3

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,8 @@ github.com/elazarl/goproxy v1.7.2 h1:Y2o6urb7Eule09PjlhQRGNsqRfPmYI3KKQLFpCAV3+o
8181
github.com/elazarl/goproxy v1.7.2/go.mod h1:82vkLNir0ALaW14Rc399OTTjyNREgmdL2cVoIbS6XaE=
8282
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
8383
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
84-
github.com/evanw/esbuild v0.25.11 h1:NGtezc+xk+Mti4fgWaoD3dncZNCzcTA+r0BxMV3Koyw=
85-
github.com/evanw/esbuild v0.25.11/go.mod h1:D2vIQZqV/vIf/VRHtViaUtViZmG7o+kKmlBfVQuRi48=
84+
github.com/evanw/esbuild v0.25.12 h1:7kIg7aG2++vhheW5YCzut1q1AjehYVQU752NcMuGVsw=
85+
github.com/evanw/esbuild v0.25.12/go.mod h1:D2vIQZqV/vIf/VRHtViaUtViZmG7o+kKmlBfVQuRi48=
8686
github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k=
8787
github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
8888
github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c=

kafka/apiVersion/apiVersion.go

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

33
import (
4+
"math"
45
"mokapi/kafka"
56
)
67

@@ -16,7 +17,7 @@ func init() {
1617
// https://github.com/a0x8o/kafka/blob/master/clients/src/main/resources/common/message/ApiVersionsResponse.json
1718
// Tagged fields are only supported in the body but
1819
// not in the header
19-
4,
20+
math.MaxInt16,
2021
)
2122
}
2223

kafka/apiVersion/apiVersion_test.go

Lines changed: 88 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
package apiVersion_test
22

33
import (
4-
"github.com/stretchr/testify/require"
4+
"bytes"
5+
"encoding/binary"
56
"mokapi/kafka"
67
"mokapi/kafka/apiVersion"
8+
"mokapi/kafka/kafkatest"
79
"testing"
10+
11+
"github.com/stretchr/testify/require"
812
)
913

1014
func TestInit(t *testing.T) {
@@ -19,3 +23,86 @@ func TestNewApiKeyResponse(t *testing.T) {
1923
require.Equal(t, int16(0), res.MinVersion)
2024
require.Equal(t, int16(3), res.MaxVersion)
2125
}
26+
27+
func TestRequest(t *testing.T) {
28+
kafkatest.TestRequest(t, 2, &apiVersion.Request{})
29+
30+
kafkatest.TestRequest(t, 3, &apiVersion.Request{
31+
ClientSwName: "foo",
32+
ClientSwVersion: "1.1",
33+
})
34+
35+
b := kafkatest.WriteRequest(t, 3, 123, "me", &apiVersion.Request{
36+
ClientSwName: "foo",
37+
ClientSwVersion: "1.1",
38+
})
39+
expected := new(bytes.Buffer)
40+
// header
41+
_ = binary.Write(expected, binary.BigEndian, int32(22)) // length
42+
_ = binary.Write(expected, binary.BigEndian, int16(kafka.ApiVersions)) // ApiKey
43+
_ = binary.Write(expected, binary.BigEndian, int16(3)) // ApiVersion
44+
_ = binary.Write(expected, binary.BigEndian, int32(123)) // correlationId
45+
_ = binary.Write(expected, binary.BigEndian, int16(2)) // ClientId length
46+
_ = binary.Write(expected, binary.BigEndian, []byte("me")) // ClientId
47+
_ = binary.Write(expected, binary.BigEndian, int8(0)) // tag buffer
48+
// message
49+
_ = binary.Write(expected, binary.BigEndian, int8(4)) // Key length
50+
_ = binary.Write(expected, binary.BigEndian, []byte("foo")) // Key
51+
_ = binary.Write(expected, binary.BigEndian, int8(4)) // Key length
52+
_ = binary.Write(expected, binary.BigEndian, []byte("1.1")) // Key
53+
_ = binary.Write(expected, binary.BigEndian, int8(0)) // tag buffer
54+
require.Equal(t, expected.Bytes(), b)
55+
}
56+
57+
func TestResponse(t *testing.T) {
58+
kafkatest.TestResponse(t, 2, &apiVersion.Response{
59+
ErrorCode: 0,
60+
ApiKeys: []apiVersion.ApiKeyResponse{
61+
{
62+
ApiKey: kafka.Produce,
63+
MinVersion: 0,
64+
MaxVersion: 3,
65+
},
66+
},
67+
ThrottleTimeMs: 123,
68+
})
69+
70+
kafkatest.TestResponse(t, 3, &apiVersion.Response{
71+
ErrorCode: 0,
72+
ApiKeys: []apiVersion.ApiKeyResponse{
73+
{
74+
ApiKey: kafka.Produce,
75+
MinVersion: 0,
76+
MaxVersion: 3,
77+
},
78+
},
79+
ThrottleTimeMs: 123,
80+
})
81+
82+
b := kafkatest.WriteResponse(t, 3, 123, &apiVersion.Response{
83+
ErrorCode: 0,
84+
ApiKeys: []apiVersion.ApiKeyResponse{
85+
{
86+
ApiKey: kafka.Produce,
87+
MinVersion: 0,
88+
MaxVersion: 3,
89+
},
90+
},
91+
ThrottleTimeMs: 123,
92+
})
93+
expected := new(bytes.Buffer)
94+
// header
95+
_ = binary.Write(expected, binary.BigEndian, int32(19)) // length
96+
_ = binary.Write(expected, binary.BigEndian, int32(123)) // correlationId
97+
// no tag in header
98+
// message
99+
_ = binary.Write(expected, binary.BigEndian, int16(0)) // ErrorCode
100+
_ = binary.Write(expected, binary.BigEndian, int8(2)) // Array length
101+
_ = binary.Write(expected, binary.BigEndian, int16(kafka.Produce)) // ApiKey
102+
_ = binary.Write(expected, binary.BigEndian, int16(0)) // MinVersion
103+
_ = binary.Write(expected, binary.BigEndian, int16(3)) // MaxVersion
104+
_ = binary.Write(expected, binary.BigEndian, int8(0)) // tag buffer
105+
_ = binary.Write(expected, binary.BigEndian, int32(123)) // ThrottleTimeMs
106+
_ = binary.Write(expected, binary.BigEndian, int8(0)) // tag buffer
107+
require.Equal(t, expected.Bytes(), b)
108+
}
Lines changed: 195 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,207 @@
11
package createTopics_test
22

33
import (
4-
"github.com/stretchr/testify/require"
4+
"bytes"
5+
"encoding/binary"
56
"mokapi/kafka"
7+
"mokapi/kafka/createTopics"
8+
"mokapi/kafka/kafkatest"
69
"testing"
10+
11+
"github.com/stretchr/testify/require"
712
)
813

914
func TestInit(t *testing.T) {
1015
reg := kafka.ApiTypes[kafka.CreateTopics]
1116
require.Equal(t, int16(0), reg.MinVersion)
1217
require.Equal(t, int16(7), reg.MaxVersion)
1318
}
19+
20+
func TestRequest(t *testing.T) {
21+
kafkatest.TestRequest(t, 4, &createTopics.Request{
22+
Topics: []createTopics.Topic{
23+
{
24+
Name: "foo",
25+
NumPartitions: 2,
26+
ReplicationFactor: 1,
27+
Assignments: []createTopics.Assignment{
28+
{
29+
Index: 0,
30+
BrokerIds: []int32{0, 1},
31+
},
32+
},
33+
Configs: []createTopics.Config{
34+
{
35+
Name: "foo",
36+
Value: "bar",
37+
},
38+
},
39+
},
40+
},
41+
TimeoutMs: 123,
42+
ValidateOnly: false,
43+
})
44+
45+
kafkatest.TestRequest(t, 5, &createTopics.Request{
46+
Topics: []createTopics.Topic{
47+
{
48+
Name: "foo",
49+
NumPartitions: 2,
50+
ReplicationFactor: 1,
51+
Assignments: []createTopics.Assignment{
52+
{
53+
Index: 0,
54+
BrokerIds: []int32{0, 1},
55+
},
56+
},
57+
Configs: []createTopics.Config{
58+
{
59+
Name: "foo",
60+
Value: "bar",
61+
},
62+
},
63+
},
64+
},
65+
TimeoutMs: 123,
66+
ValidateOnly: false,
67+
})
68+
69+
b := kafkatest.WriteRequest(t, 5, 123, "me", &createTopics.Request{
70+
Topics: []createTopics.Topic{
71+
{
72+
Name: "foo",
73+
NumPartitions: 2,
74+
ReplicationFactor: 1,
75+
Assignments: []createTopics.Assignment{
76+
{
77+
Index: 0,
78+
BrokerIds: []int32{0, 1},
79+
},
80+
},
81+
Configs: []createTopics.Config{
82+
{
83+
Name: "foo",
84+
Value: "bar",
85+
},
86+
},
87+
},
88+
},
89+
TimeoutMs: 123,
90+
ValidateOnly: false,
91+
})
92+
expected := new(bytes.Buffer)
93+
// header
94+
_ = binary.Write(expected, binary.BigEndian, int32(56)) // length
95+
_ = binary.Write(expected, binary.BigEndian, int16(kafka.CreateTopics)) // ApiKey
96+
_ = binary.Write(expected, binary.BigEndian, int16(5)) // ApiVersion
97+
_ = binary.Write(expected, binary.BigEndian, int32(123)) // correlationId
98+
_ = binary.Write(expected, binary.BigEndian, int16(2)) // ClientId length
99+
_ = binary.Write(expected, binary.BigEndian, []byte("me")) // ClientId
100+
_ = binary.Write(expected, binary.BigEndian, int8(0)) // tag buffer
101+
// message
102+
_ = binary.Write(expected, binary.BigEndian, int8(2)) // Topics length
103+
_ = binary.Write(expected, binary.BigEndian, int8(4)) // Topic name length
104+
_ = binary.Write(expected, binary.BigEndian, []byte("foo")) // Topic name
105+
_ = binary.Write(expected, binary.BigEndian, int32(2)) // NumPartitions
106+
_ = binary.Write(expected, binary.BigEndian, int16(1)) // ReplicationFactor
107+
_ = binary.Write(expected, binary.BigEndian, int8(2)) // Assignments length
108+
_ = binary.Write(expected, binary.BigEndian, int32(0)) // Index
109+
_ = binary.Write(expected, binary.BigEndian, int8(3)) // BrokerIds length
110+
_ = binary.Write(expected, binary.BigEndian, int32(0)) // BrokerId 0
111+
_ = binary.Write(expected, binary.BigEndian, int32(1)) // BrokerId 1
112+
_ = binary.Write(expected, binary.BigEndian, int8(0)) // tag buffer
113+
_ = binary.Write(expected, binary.BigEndian, int8(2)) // Configs length
114+
_ = binary.Write(expected, binary.BigEndian, int8(4)) // Name length
115+
_ = binary.Write(expected, binary.BigEndian, []byte("foo")) // Name
116+
_ = binary.Write(expected, binary.BigEndian, int8(4)) // Value length
117+
_ = binary.Write(expected, binary.BigEndian, []byte("bar")) // Value
118+
_ = binary.Write(expected, binary.BigEndian, int8(0)) // tag buffer
119+
_ = binary.Write(expected, binary.BigEndian, int8(0)) // Topics tag buffer
120+
_ = binary.Write(expected, binary.BigEndian, int32(123)) // TimeoutMs
121+
_ = binary.Write(expected, binary.BigEndian, int8(0)) // ValidateOnly
122+
_ = binary.Write(expected, binary.BigEndian, int8(0)) // tag buffer
123+
require.Equal(t, expected.Bytes(), b)
124+
}
125+
126+
func TestResponse(t *testing.T) {
127+
kafkatest.TestResponse(t, 4, &createTopics.Response{
128+
ThrottleTimeMs: 123,
129+
Topics: []createTopics.TopicResponse{
130+
{
131+
Name: "foo",
132+
ErrorCode: 0,
133+
ErrorMessage: "",
134+
},
135+
},
136+
})
137+
138+
kafkatest.TestResponse(t, 5, &createTopics.Response{
139+
ThrottleTimeMs: 123,
140+
Topics: []createTopics.TopicResponse{
141+
{
142+
Name: "foo",
143+
ErrorCode: 0,
144+
ErrorMessage: "",
145+
NumPartitions: 2,
146+
ReplicationFactor: 1,
147+
Configs: []createTopics.ConfigResponse{
148+
{
149+
Name: "foo",
150+
Value: "bar",
151+
ReadOnly: false,
152+
ConfigSource: 0,
153+
IsSensitive: false,
154+
},
155+
},
156+
},
157+
},
158+
})
159+
160+
b := kafkatest.WriteResponse(t, 5, 123, &createTopics.Response{
161+
ThrottleTimeMs: 123,
162+
Topics: []createTopics.TopicResponse{
163+
{
164+
Name: "foo",
165+
ErrorCode: 0,
166+
ErrorMessage: "",
167+
NumPartitions: 2,
168+
ReplicationFactor: 1,
169+
Configs: []createTopics.ConfigResponse{
170+
{
171+
Name: "foo",
172+
Value: "bar",
173+
ReadOnly: false,
174+
ConfigSource: 0,
175+
IsSensitive: false,
176+
},
177+
},
178+
},
179+
},
180+
})
181+
expected := new(bytes.Buffer)
182+
// header
183+
_ = binary.Write(expected, binary.BigEndian, int32(38)) // length
184+
_ = binary.Write(expected, binary.BigEndian, int32(123)) // correlationId
185+
_ = binary.Write(expected, binary.BigEndian, int8(0)) // tag buffer
186+
// message
187+
_ = binary.Write(expected, binary.BigEndian, int32(123)) // ThrottleTimeMs
188+
_ = binary.Write(expected, binary.BigEndian, int8(2)) // Topics length
189+
_ = binary.Write(expected, binary.BigEndian, int8(4)) // Topic name length
190+
_ = binary.Write(expected, binary.BigEndian, []byte("foo")) // Topic name
191+
_ = binary.Write(expected, binary.BigEndian, int16(0)) // ErrorCode
192+
_ = binary.Write(expected, binary.BigEndian, int8(0)) // ErrorMessage length
193+
_ = binary.Write(expected, binary.BigEndian, int32(2)) // NumPartitions
194+
_ = binary.Write(expected, binary.BigEndian, int16(1)) // ReplicationFactor
195+
_ = binary.Write(expected, binary.BigEndian, int8(2)) // Configs length
196+
_ = binary.Write(expected, binary.BigEndian, int8(4)) // Name length
197+
_ = binary.Write(expected, binary.BigEndian, []byte("foo")) // Name
198+
_ = binary.Write(expected, binary.BigEndian, int8(4)) // Value length
199+
_ = binary.Write(expected, binary.BigEndian, []byte("bar")) // Value
200+
_ = binary.Write(expected, binary.BigEndian, int8(0)) // ReadOnly
201+
_ = binary.Write(expected, binary.BigEndian, int8(0)) // ConfigSource
202+
_ = binary.Write(expected, binary.BigEndian, int8(0)) // IsSensitive
203+
_ = binary.Write(expected, binary.BigEndian, int8(0)) // Configs tag buffer
204+
_ = binary.Write(expected, binary.BigEndian, int8(0)) // Topics tag buffer
205+
_ = binary.Write(expected, binary.BigEndian, int8(0)) // tag buffer
206+
require.Equal(t, expected.Bytes(), b)
207+
}

0 commit comments

Comments
 (0)