mosn

Форк
0
/
extend_test.go 
73 строки · 1.3 Кб
1
//go:build MOSNTest
2
// +build MOSNTest
3

4
package autoconfig
5

6
import (
7
	"strings"
8
	"testing"
9
	"time"
10

11
	. "mosn.io/mosn/test/framework"
12
	"mosn.io/mosn/test/lib/mosn"
13
)
14

15
func TestUpdateExtend(t *testing.T) {
16
	Scenario(t, "test update mosn extend config", func() {
17
		var m *mosn.MosnOperator
18
		Setup(func() {
19
			m = mosn.StartMosn(extendConfig, "-f", "auto_config=true")
20
			Verify(m, NotNil)
21
			time.Sleep(2 * time.Second) // wait mosn start
22
		})
23
		Case("update extend", func() {
24
			content, err := m.GetMosnConfig(34901, "")
25
			Verify(err, Equal, nil)
26
			t := strings.Contains(string(content), "test_extend")
27
			Verify(t, Equal, true)
28
			// update
29
			config := `[
30
				{
31
					"type": "new_test",
32
					"config": {
33
						"new_test":"new_test"
34
					}
35
				}
36
			]`
37
			err = m.UpdateConfig(34901, "extend", config)
38
			Verify(err, Equal, nil)
39
			// wait auto config dump
40
			time.Sleep(4 * time.Second)
41
			mcfg := m.LoadMosnConfig() // read config from files
42
			Verify(len(mcfg.Extends), Equal, 2)
43
		})
44
		TearDown(func() {
45
			m.Stop()
46
		})
47
	})
48
}
49

50
const extendConfig = `{
51
	"servers":[
52
		{
53
			"default_log_path":"stdout"
54
		}
55
	],
56
	"cluster_manager": {},
57
	"extends": [
58
		{
59
			"type": "test_extend",
60
			"config": {
61
				 "test":"test"
62
			}
63
		}
64
	],
65
	"admin": {
66
		"address": {
67
			"socket_address": {
68
				"address": "127.0.0.1",
69
				"port_value": 34901
70
			}
71
		}
72
	}
73
}`
74

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.