feat: add openim config ete code

Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
pull/1389/head
Xinwei Xiong(cubxxw) 2 years ago
parent 5e332fcf06
commit 7c11e722d2

@ -1,7 +1,10 @@
package user package user
import ( import (
"fmt"
gettoken "github.com/openimsdk/open-im-server/v3/test/e2e/api/token" gettoken "github.com/openimsdk/open-im-server/v3/test/e2e/api/token"
"github.com/openimsdk/open-im-server/v3/test/e2e/framework/config"
) )
// UserInfoRequest represents a request to get or update user information // UserInfoRequest represents a request to get or update user information
@ -17,14 +20,20 @@ type GetUsersOnlineStatusRequest struct {
// GetUsersInfo retrieves detailed information for a list of user IDs // GetUsersInfo retrieves detailed information for a list of user IDs
func GetUsersInfo(token string, userIDs []string) error { func GetUsersInfo(token string, userIDs []string) error {
url := fmt.Sprintf("http://%s:%s/user/get_users_info", config.LoadConfig().APIHost, config.LoadConfig().APIPort)
requestBody := UserInfoRequest{ requestBody := UserInfoRequest{
UserIDs: userIDs, UserIDs: userIDs,
} }
return sendPostRequestWithToken("http://your-api-host:port/user/get_users_info", token, requestBody) return sendPostRequestWithToken(url, token, requestBody)
} }
// UpdateUserInfo updates the information for a user // UpdateUserInfo updates the information for a user
func UpdateUserInfo(token, userID, nickname, faceURL string) error { func UpdateUserInfo(token, userID, nickname, faceURL string) error {
url := fmt.Sprintf("http://%s:%s/user/update_user_info", config.LoadConfig().APIHost, config.LoadConfig().APIPort)
requestBody := UserInfoRequest{ requestBody := UserInfoRequest{
UserInfo: &gettoken.User{ UserInfo: &gettoken.User{
UserID: userID, UserID: userID,
@ -32,13 +41,16 @@ func UpdateUserInfo(token, userID, nickname, faceURL string) error {
FaceURL: faceURL, FaceURL: faceURL,
}, },
} }
return sendPostRequestWithToken("http://your-api-host:port/user/update_user_info", token, requestBody) return sendPostRequestWithToken(url, token, requestBody)
} }
// GetUsersOnlineStatus retrieves the online status for a list of user IDs // GetUsersOnlineStatus retrieves the online status for a list of user IDs
func GetUsersOnlineStatus(token string, userIDs []string) error { func GetUsersOnlineStatus(token string, userIDs []string) error {
url := fmt.Sprintf("http://%s:%s/user/get_users_online_status", config.LoadConfig().APIHost, config.LoadConfig().APIPort)
requestBody := GetUsersOnlineStatusRequest{ requestBody := GetUsersOnlineStatusRequest{
UserIDs: userIDs, UserIDs: userIDs,
} }
return sendPostRequestWithToken("http://your-api-host:port/user/get_users_online_status", token, requestBody) return sendPostRequestWithToken(url, token, requestBody)
} }

@ -8,6 +8,7 @@ import (
"net/http" "net/http"
gettoken "github.com/openimsdk/open-im-server/v3/test/e2e/api/token" gettoken "github.com/openimsdk/open-im-server/v3/test/e2e/api/token"
"github.com/openimsdk/open-im-server/v3/test/e2e/framework/config"
) )
// ForceLogoutRequest represents a request to force a user logout // ForceLogoutRequest represents a request to force a user logout
@ -34,30 +35,39 @@ type Pagination struct {
// ForceLogout forces a user to log out // ForceLogout forces a user to log out
func ForceLogout(token, userID string, platformID int) error { func ForceLogout(token, userID string, platformID int) error {
url := fmt.Sprintf("http://%s:%s/auth/force_logout", config.LoadConfig().APIHost, config.LoadConfig().APIPort)
requestBody := ForceLogoutRequest{ requestBody := ForceLogoutRequest{
PlatformID: platformID, PlatformID: platformID,
UserID: userID, UserID: userID,
} }
return sendPostRequestWithToken("http://your-api-host:port/auth/force_logout", token, requestBody) return sendPostRequestWithToken(url, token, requestBody)
} }
// CheckUserAccount checks if the user accounts exist // CheckUserAccount checks if the user accounts exist
func CheckUserAccount(token string, userIDs []string) error { func CheckUserAccount(token string, userIDs []string) error {
url := fmt.Sprintf("http://%s:%s/user/account_check", config.LoadConfig().APIHost, config.LoadConfig().APIPort)
requestBody := CheckUserAccountRequest{ requestBody := CheckUserAccountRequest{
CheckUserIDs: userIDs, CheckUserIDs: userIDs,
} }
return sendPostRequestWithToken("http://your-api-host:port/user/account_check", token, requestBody) return sendPostRequestWithToken(url, token, requestBody)
} }
// GetUsers retrieves a list of users with pagination // GetUsers retrieves a list of users with pagination
func GetUsers(token string, pageNumber, showNumber int) error { func GetUsers(token string, pageNumber, showNumber int) error {
url := fmt.Sprintf("http://%s:%s/user/account_check", config.LoadConfig().APIHost, config.LoadConfig().APIPort)
requestBody := GetUsersRequest{ requestBody := GetUsersRequest{
Pagination: Pagination{ Pagination: Pagination{
PageNumber: pageNumber, PageNumber: pageNumber,
ShowNumber: showNumber, ShowNumber: showNumber,
}, },
} }
return sendPostRequestWithToken("http://your-api-host:port/user/get_users", token, requestBody) return sendPostRequestWithToken(url, token, requestBody)
} }
// sendPostRequestWithToken sends a POST request with a token in the header // sendPostRequestWithToken sends a POST request with a token in the header

@ -1,6 +1,9 @@
package config package config
import "flag" import (
"flag"
"os"
)
// Flags is the flag set that AddOptions adds to. Test authors should // Flags is the flag set that AddOptions adds to. Test authors should
// also use it instead of directly adding to the global command line. // also use it instead of directly adding to the global command line.
@ -19,3 +22,49 @@ func CopyFlags(source *flag.FlagSet, target *flag.FlagSet) {
target.Var(flag.Value, flag.Name, flag.Usage) target.Var(flag.Value, flag.Name, flag.Usage)
}) })
} }
// Config defines the configuration structure for the OpenIM components.
type Config struct {
APIHost string
APIPort string
MsgGatewayHost string
MsgTransferHost string
PushHost string
RPCAuthHost string
RPCConversationHost string
RPCFriendHost string
RPCGroupHost string
RPCMsgHost string
RPCThirdHost string
RPCUserHost string
// Add other configuration fields as needed
}
// LoadConfig loads the configurations from environment variables or default values.
func LoadConfig() *Config {
return &Config{
APIHost: getEnv("OPENIM_API_HOST", "127.0.0.1"),
APIPort: getEnv("API_OPENIM_PORT", "10002"),
// TODO: Set default variable
MsgGatewayHost: getEnv("OPENIM_MSGGATEWAY_HOST", "default-msggateway-host"),
MsgTransferHost: getEnv("OPENIM_MSGTRANSFER_HOST", "default-msgtransfer-host"),
PushHost: getEnv("OPENIM_PUSH_HOST", "default-push-host"),
RPCAuthHost: getEnv("OPENIM_RPC_AUTH_HOST", "default-rpc-auth-host"),
RPCConversationHost: getEnv("OPENIM_RPC_CONVERSATION_HOST", "default-rpc-conversation-host"),
RPCFriendHost: getEnv("OPENIM_RPC_FRIEND_HOST", "default-rpc-friend-host"),
RPCGroupHost: getEnv("OPENIM_RPC_GROUP_HOST", "default-rpc-group-host"),
RPCMsgHost: getEnv("OPENIM_RPC_MSG_HOST", "default-rpc-msg-host"),
RPCThirdHost: getEnv("OPENIM_RPC_THIRD_HOST", "default-rpc-third-host"),
RPCUserHost: getEnv("OPENIM_RPC_USER_HOST", "default-rpc-user-host"),
}
}
// getEnv is a helper function to read an environment variable or return a default value.
func getEnv(key, defaultValue string) string {
value, exists := os.LookupEnv(key)
if !exists {
return defaultValue
}
return value
}

Loading…
Cancel
Save