mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-12-07 13:07:09 +08:00
feat: openim test
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
This commit is contained in:
parent
9c539c7197
commit
3c2a0e3a58
4
.github/.codecov.yml
vendored
4
.github/.codecov.yml
vendored
@ -24,6 +24,10 @@ coverage:
|
||||
paths:
|
||||
- tools/* # only include coverage in "tools/" folder
|
||||
informational: true # Always pass check
|
||||
test: # declare a new status context "test"
|
||||
paths:
|
||||
- test/* # only include coverage in "test/" folder
|
||||
informational: true # Always pass check
|
||||
# internal: # declare a new status context "internal"
|
||||
# paths:
|
||||
# - internal/* # only include coverage in "internal/" folder
|
||||
|
||||
2
Makefile
2
Makefile
@ -172,7 +172,7 @@ test-api:
|
||||
@$(MAKE) go.test.api
|
||||
|
||||
## test-e2e: Run e2e test
|
||||
test-api:
|
||||
test-e2e:
|
||||
@$(MAKE) go.test.e2e
|
||||
|
||||
## updates: Check for updates to go.mod dependencies. ✨
|
||||
|
||||
@ -201,9 +201,9 @@ go.test.api:
|
||||
|
||||
## go.test.e2e: Run e2e test
|
||||
.PHONY: go.test.e2e
|
||||
go.test.e2e:
|
||||
go.test.e2e: tools.verify.ginkgo
|
||||
@echo "===========> Run e2e test"
|
||||
@$(ROOT_DIR)/scripts/install/test.sh openim::test::e2e
|
||||
@$(TOOLS_DIR)/ginkgo -v $(ROOT_DIR)/test/e2e
|
||||
|
||||
## go.demo: Run demo
|
||||
.PHONY: go.demo
|
||||
|
||||
@ -90,7 +90,7 @@ ginkgo -v --randomizeAllSpecs --randomizeSuites --failOnPending --cover --trace
|
||||
You can also run a specific test or group of tests by specifying the path to the test directory:
|
||||
|
||||
```bash
|
||||
ginkgo -v ./test/e2e/chat/
|
||||
ginkgo -v ./test/e2e/chat
|
||||
```
|
||||
|
||||
Or you can use Makefile to run the tests:
|
||||
|
||||
@ -1,2 +1,37 @@
|
||||
package e2e
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
gettoken "github.com/openimsdk/open-im-server/v3/test/e2e/api/token"
|
||||
"github.com/openimsdk/open-im-server/v3/test/e2e/api/user"
|
||||
)
|
||||
|
||||
// RunE2ETests checks configuration parameters (specified through flags) and then runs
|
||||
// E2E tests using the Ginkgo runner.
|
||||
// If a "report directory" is specified, one or more JUnit test reports will be
|
||||
// generated in this directory, and cluster logs will also be saved.
|
||||
// This function is called on each Ginkgo node in parallel mode.
|
||||
func RunE2ETests(t *testing.T) {
|
||||
|
||||
// Example usage of new functions
|
||||
token, _ := gettoken.GetUserToken("openIM123456")
|
||||
|
||||
// Example of getting user info
|
||||
_ = user.GetUsersInfo(token, []string{"user1", "user2"})
|
||||
|
||||
// Example of updating user info
|
||||
_ = user.UpdateUserInfo(token, "user1", "NewNickname", "https://github.com/openimsdk/open-im-server/blob/main/assets/logo/openim-logo.png")
|
||||
|
||||
// Example of getting users' online status
|
||||
_ = user.GetUsersOnlineStatus(token, []string{"user1", "user2"})
|
||||
|
||||
// Example of forcing a logout
|
||||
_ = user.ForceLogout(token, "4950983283", 2)
|
||||
|
||||
// Example of checking user account
|
||||
_ = user.CheckUserAccount(token, []string{"openIM123456", "anotherUserID"})
|
||||
|
||||
// Example of getting users
|
||||
_ = user.GetUsers(token, 1, 100)
|
||||
}
|
||||
|
||||
@ -1 +1,23 @@
|
||||
package e2e
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"testing"
|
||||
|
||||
"github.com/openimsdk/open-im-server/v3/test/e2e/framework/config"
|
||||
)
|
||||
|
||||
// handleFlags sets up all flags and parses the command line.
|
||||
func handleFlags() {
|
||||
config.CopyFlags(config.Flags, flag.CommandLine)
|
||||
flag.Parse()
|
||||
}
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
handleFlags()
|
||||
m.Run()
|
||||
}
|
||||
|
||||
func TestE2E(t *testing.T) {
|
||||
RunE2ETests(t)
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user