Skip to content
Merged

Develop #1309

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
60c2342
Merge pull request #1303 from marle3003/main
marle3003 Oct 10, 2026
54acbf2
fix(openapi): don't join query parameter values when using style deep…
marle3003 Oct 13, 2026
047c0ed
fix(javascript): improve function signature for operationId http even…
marle3003 Oct 13, 2026
e6f2940
refactor(typescript): replace JSONValue with any to simplify usage
marle3003 Oct 13, 2026
623c34a
doc: add title to examples
marle3003 Oct 13, 2026
5419f77
feat(api): change events endpoint to paged data source and reduce pay…
marle3003 Oct 13, 2026
3201171
fix: update mount path to include lib folder
marle3003 Oct 13, 2026
06b3300
feat(webui): improve event paging
marle3003 Oct 14, 2026
aa2503d
fix: copy-page mistake
marle3003 Oct 14, 2026
5e1eade
fix: set correct event tag in action parameter
marle3003 Oct 14, 2026
739aff4
test: fix json field order
marle3003 Oct 14, 2026
54e0128
chore(deps): update actions/setup-node digest to 949feb2
renovate[bot] Oct 14, 2026
7be2842
chore(deps): update golang:1.27.2-alpine docker digest to f92b6ef
renovate[bot] Oct 14, 2026
76eaea1
Merge pull request #1302 from marle3003/renovate/golang-1.27.2-alpine
marle3003 Oct 14, 2026
cca1416
Merge branch 'develop' into renovate/actions-setup-node-digest
marle3003 Oct 14, 2026
7e0cb78
Merge pull request #1294 from marle3003/renovate/actions-setup-node-d…
marle3003 Oct 14, 2026
9430f41
chore: fix markdown imports
marle3003 Oct 14, 2026
76e5b17
Merge branch 'develop' of https://github.com/marle3003/mokapi into de…
marle3003 Oct 14, 2026
cb145ce
fix(deps): update dependency markdown-it to v15
renovate[bot] Oct 14, 2026
68c7845
chore: fix script after switched to module
marle3003 Oct 14, 2026
692e343
chore: remove unsued imports
marle3003 Oct 14, 2026
df80db0
Merge branch 'develop' into renovate/markdown-it-15.x
marle3003 Oct 14, 2026
ef0b63b
chore: fix markdown upgrade v15
marle3003 Oct 14, 2026
24deb4e
Merge pull request #1167 from marle3003/renovate/markdown-it-15.x
marle3003 Oct 14, 2026
ef93c3a
chore(deps): update actions/download-artifact digest to 9000827
renovate[bot] Oct 14, 2026
36dc41e
chore(deps): update actions/upload-artifact digest to cf430e0
renovate[bot] Oct 14, 2026
e990313
chore(deps): update goreleaser/goreleaser-action digest to a4f02ab
renovate[bot] Oct 14, 2026
13030d2
fix(deps): update github.com/dop251/goja digest to 2cb8274
renovate[bot] Oct 14, 2026
ebe8afc
Merge pull request #1308 from marle3003/renovate/goreleaser-gorelease…
marle3003 Oct 14, 2026
57b9ae2
Merge pull request #1290 from marle3003/renovate/actions-upload-artif…
marle3003 Oct 14, 2026
524089b
Merge pull request #1289 from marle3003/renovate/actions-download-art…
marle3003 Oct 14, 2026
361a63a
Merge branch 'develop' into renovate/github.com-dop251-goja-digest
marle3003 Oct 14, 2026
41d2b2b
Merge pull request #1288 from marle3003/renovate/github.com-dop251-go…
marle3003 Oct 14, 2026
c0a632b
fix(kafka): check operation binding for nil
marle3003 Oct 14, 2026
fa6ddac
Merge remote-tracking branch 'origin/develop' into develop
marle3003 Oct 14, 2026
f4e0a25
fix(javascript): enure scheduled jobs are finished before start next one
marle3003 Oct 14, 2026
d24f215
fix(ssg): after switched to node module
marle3003 Oct 14, 2026
7be6f6d
Potential fix for pull request finding 'CodeQL / Slice memory allocat…
marle3003 Oct 14, 2026
d45301e
Merge branch 'main' into develop
marle3003 Oct 14, 2026
1cae112
fix(generator): fix nil error if JavaScript faker node is used
marle3003 Oct 15, 2026
7dbcf6b
feat(javascript): improve JavaScript produce Kafka tombstone message …
marle3003 Oct 15, 2026
f40f976
chore(deps): update dependency @vitejs/plugin-vue to v6.0.10 (#1311)
renovate[bot] Oct 16, 2026
2a2c1ee
chore(deps): update dependency bootstrap-icons to v1.13.2 (#1312)
renovate[bot] Oct 16, 2026
9fd0203
chore(deps): update dependency vite to v8.3.4 (#1314)
renovate[bot] Oct 16, 2026
4059f40
chore(deps): update dependency prettier to v3.9.10 (#1313)
renovate[bot] Oct 16, 2026
9f9f892
chore(deps): update dependency @playwright/test to v1.64.0 (#1316)
renovate[bot] Oct 16, 2026
28c7497
chore(deps): update dependency vue-tsc to v3.3.13 (#1315)
renovate[bot] Oct 16, 2026
72656c3
chore(deps): update dependency vue to v3.5.44 (#1317)
renovate[bot] Oct 16, 2026
36835b5
chore(deps): update dependency nodemailer to v10.1.0 (#1319)
renovate[bot] Oct 16, 2026
fc38627
chore(deps): update dependency express to v5.3.0 (#1318)
renovate[bot] Oct 16, 2026
a640e5f
chore(deps): update dependency vue-router to v5.4.0 (#1320)
renovate[bot] Oct 16, 2026
3c618fc
chore(deps): update google/osv-scanner-action action to v2.7.0 (#1322)
renovate[bot] Oct 16, 2026
b55aa8f
fix(deps): update module github.com/brianvoe/gofakeit/v7 to v7.18.0 (…
renovate[bot] Oct 16, 2026
fcfddd2
chore(deps): update node.js to v26.12.0 (#1323)
renovate[bot] Oct 16, 2026
5fec186
wip: parameterized channels for Kafka
marle3003 Oct 19, 2026
a24cb68
test: add search disable CLI test
marle3003 Oct 19, 2026
df262c7
refactor: switch e2e mocks to new JavaScript API
marle3003 Oct 19, 2026
62d327e
Merge branch 'develop' of https://github.com/marle3003/mokapi into de…
marle3003 Oct 19, 2026
5478d8c
feat(kafka): add parameterized channels
marle3003 Oct 20, 2026
ca6e7a5
fix(webui): fix package resource
marle3003 Oct 20, 2026
ee8a74c
fix(webui): fix types
marle3003 Oct 20, 2026
d1043c7
Merge branch 'develop' into parameterized-channels
marle3003 Oct 20, 2026
2724f2d
Potential fix for pull request finding 'CodeQL / Overly permissive re…
marle3003 Oct 20, 2026
b2fa022
test: fix timezone issue
marle3003 Oct 20, 2026
8594dbd
Merge remote-tracking branch 'origin/parameterized-channels' into par…
marle3003 Oct 20, 2026
47e7934
test: fix timezone issue
marle3003 Oct 20, 2026
f9638cd
Merge pull request #1327 from marle3003/parameterized-channels
marle3003 Oct 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/build-alpha-release-notes/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ runs:
sed 's/^/- /'
} > docs/release.md
- name: Upload release notes
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
with:
name: release-notes
path: docs/release.md
2 changes: 1 addition & 1 deletion .github/actions/build-mokapi-image/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ runs:
run: docker save -o /tmp/mokapi.tar ${{ inputs.image-name }} mokapi/mokapi:alpha
shell: bash
- name: Upload image
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
with:
name: ${{ inputs.artifact-name }}
path: /tmp/mokapi.tar
2 changes: 1 addition & 1 deletion .github/actions/publish-docker-image/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ runs:
steps:
- name: Download image
id: download
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8
with:
name: ${{ inputs.artifact-name }}
path: /tmp
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/publish-test-report/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ runs:
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
shell: bash
- name: Download Report
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8
with:
name: ${{ inputs.artifact-test-report }}
path: gh-pages/${{ inputs.test-report-path }}
Expand Down
6 changes: 3 additions & 3 deletions .github/actions/publish-website/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ inputs:
runs:
using: "composite"
steps:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7
with:
node-version: 24
registry-url: 'https://registry.npmjs.org'
Expand All @@ -31,7 +31,7 @@ runs:
token: ${{ inputs.token }}
- name: Download image
id: download
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8
with:
name: ${{ env.image-artifact-name }}
path: /tmp
Expand Down Expand Up @@ -71,7 +71,7 @@ runs:
shell: bash
- name: Upload test results
if: always()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
with:
name: website-test-report
path: webui/playwright-report
Expand Down
10 changes: 5 additions & 5 deletions .github/actions/run-frontend-tests/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,17 @@ runs:
steps:
- name: Download image
id: download
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8
with:
name: ${{ inputs.artifact-image-name }}
path: /tmp
- name: Load image
run: docker load --input /tmp/mokapi.tar
shell: bash
- name: Run mokapi image
run: docker run --name mokapi --rm -d -p 8090:8090 -p 8091:8091 --mount type=bind,source=$(pwd)/webui/e2e/mocks,target=/data --env MOKAPI_Log_Level=Debug --env MOKAPI_Api_Port=8091 --env MOKAPI_Api_Path=/mokapi --env MOKAPI_Providers_File_Directory=/data ${{ inputs.image-name }}
run: docker run --name mokapi --rm -d -p 8090:8090 -p 8091:8091 --mount type=bind,source=$(pwd)/webui,target=/data --env MOKAPI_Log_Level=Debug --env MOKAPI_Api_Port=8091 --env MOKAPI_Api_Path=/mokapi --env MOKAPI_Providers_File_Directory=/data/e2e/mocks ${{ inputs.image-name }}
shell: bash
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7
with:
node-version: 24
- name: Install and Build
Expand All @@ -46,7 +46,7 @@ runs:
shell: bash
- name: Upload test results
if: always()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
with:
name: ${{ inputs.artifact-test-report }}
path: ./webui/playwright-report
Expand All @@ -56,7 +56,7 @@ runs:
shell: bash
- name: Archive Mokapi logs
if: always()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
with:
name: mokapi-test-logs
path: /var/tmp/mokapi.log
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
go-version-file: 'go.mod'

- name: Setup node
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7
with:
node-version: 26
- name: build webui
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/osv-scanner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ permissions:
jobs:
scan-scheduled:
if: ${{ github.event_name == 'push' || github.event_name == 'schedule' }}
uses: "google/osv-scanner-action/.github/workflows/osv-scanner-reusable.yml@a345acffa64b0eaede81a3d9aae6141214d9c8fc" # v2.6.0
uses: "google/osv-scanner-action/.github/workflows/osv-scanner-reusable.yml@b1d267aea5211fa648d9d442fa64b90dbdcbdd36" # v2.7.0
with:
# Example of specifying custom arguments
scan-args: |-
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
- uses: ./.github/actions/build-release-notes
env:
GH_TOKEN: ${{ github.token }}
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7
with:
node-version: 24
registry-url: 'https://registry.npmjs.org'
Expand All @@ -44,7 +44,7 @@ jobs:
- name: Build
run: task build-vue-app
- name: Upload UI artifact
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7
with:
name: dashboard
path: webui/dist
Expand All @@ -60,7 +60,7 @@ jobs:
with:
fetch-depth: 0
- name: Download dashboard
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8
with:
name: dashboard
path: webui/dist
Expand All @@ -77,7 +77,7 @@ jobs:
with:
go-version-file: 'go.mod'
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@f06c13b6b1a9625abc9e6e439d9c05a8f2190e94 # v7
uses: goreleaser/goreleaser-action@a4f02ab5355a589de60d917a659ce617ed19b3de # v7
with:
version: latest
args: release --clean
Expand All @@ -94,7 +94,7 @@ jobs:
with:
fetch-depth: 0
- name: Download dashboard
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8
with:
name: dashboard
path: webui/dist
Expand Down Expand Up @@ -127,7 +127,7 @@ jobs:
-product-version="$($versionParts[0]).$($versionParts[1]).$($versionParts[2])"

- name: Run GoReleaser
uses: goreleaser/goreleaser-action@f06c13b6b1a9625abc9e6e439d9c05a8f2190e94 # v7
uses: goreleaser/goreleaser-action@a4f02ab5355a589de60d917a659ce617ed19b3de # v7
with:
version: latest
args: release -f .goreleaser.windows.yml --clean
Expand All @@ -151,7 +151,7 @@ jobs:
- uses: ./.github/actions/build-release-notes
env:
GH_TOKEN: ${{ github.token }}
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7
with:
node-version: 24
registry-url: 'https://registry.npmjs.org'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
sparse-checkout: 'npm'
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7
with:
node-version: 24
- name: Run TypeScript Compiler (tsc)
Expand Down
16 changes: 15 additions & 1 deletion acceptance/kafka_test.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package acceptance

import (
"encoding/json"
"fmt"
"mokapi/api"
"mokapi/config/static"
"mokapi/kafka"
"mokapi/kafka/fetch"
Expand Down Expand Up @@ -51,7 +53,7 @@ func (suite *KafkaSuite) TestApi() {
"name": "petstore.order-event",
"metrics": map[string]any{
// skip timestamp check "kafka_message_timestamp"
"kafka_messages_total": float64(1),
"messages_total": float64(1),
},
}},
}
Expand Down Expand Up @@ -154,8 +156,20 @@ func (suite *KafkaSuite) TestKafkaEventAndMetrics() {
try.BodyContains(`kafka_messages_total{service=\"A sample AsyncApi Kafka streaming api\",topic=\"petstore.order-event\"}","value":1}`),
)

var eventId string
// test kafka events, header added by JavaScript event handler
try.GetRequest(suite.T(), fmt.Sprintf("http://127.0.0.1:%d/api/events?namespace=kafka", suite.cfg.Api.Port), nil,
try.AssertBody(func(t *testing.T, body string) {
var data api.EventPage
err := json.Unmarshal([]byte(body), &data)
require.NoError(t, err)
require.Len(t, data.Items, 2)
// first event does not define a header specification therefor header only contains binary
eventId = data.Items[1].Id
}),
)

try.GetRequest(suite.T(), fmt.Sprintf("http://127.0.0.1:%d/api/events/"+eventId, suite.cfg.Api.Port), nil,
try.BodyContains(`"headers":{"foo":{"value":"bar","binary":"YmFy"}`),
try.BodyContains(`"messageId":"order"`),
)
Expand Down
2 changes: 1 addition & 1 deletion acceptance/ldap/ldap.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ldap: 1.0.0
info:
name: Futurama
title: Futurama
server:
address: "0.0.0.0:8389"
rootDomainNamingContext: DC=mokapi,DC=io
Expand Down
2 changes: 1 addition & 1 deletion acceptance/ldap_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ func (suite *LdapSuite) TestLog() {
try.GetRequest(suite.T(), fmt.Sprintf("http://127.0.0.1:%v/api/events?namespace=ldap", suite.cfg.Api.Port),
nil,
try.HasStatusCode(http.StatusOK),
try.BodyContains(`:{"request":{"operation":"Search","baseDN":"","scope":"WholeSubtree","dereferencePolicy":0,"sizeLimit":0,"timeLimit":0,"typesOnly":false,"filter":"(objectClass=user)","attributes":["mail"],"controls":null}`),
try.BodyContains(`"criteria":"(objectClass=user)"`),
)
}

Expand Down
3 changes: 1 addition & 2 deletions api/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ func New(app *runtime.App, config static.Api) Handler {
h.setupMqtt()
h.setupWebsocket()
h.setupFaker()
h.setupEvents()

return h
}
Expand Down Expand Up @@ -163,8 +164,6 @@ func (h *handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
h.getDashboard(w, r)
case strings.HasPrefix(p, "/api/metrics"):
h.getMetrics(w, r)
case strings.HasPrefix(p, "/api/events"):
h.getEvents(w, r)
case p == "/api/schema/example":
h.getExampleData(w, r)
case p == "/api/schema/validate":
Expand Down
Loading
Loading