ollama

Форк
0
/
client_test.go 
43 строки · 1.8 Кб
1
package api
2

3
import "testing"
4

5
func TestClientFromEnvironment(t *testing.T) {
6
	type testCase struct {
7
		value  string
8
		expect string
9
		err    error
10
	}
11

12
	testCases := map[string]*testCase{
13
		"empty":                      {value: "", expect: "http://127.0.0.1:11434"},
14
		"only address":               {value: "1.2.3.4", expect: "http://1.2.3.4:11434"},
15
		"only port":                  {value: ":1234", expect: "http://:1234"},
16
		"address and port":           {value: "1.2.3.4:1234", expect: "http://1.2.3.4:1234"},
17
		"scheme http and address":    {value: "http://1.2.3.4", expect: "http://1.2.3.4:80"},
18
		"scheme https and address":   {value: "https://1.2.3.4", expect: "https://1.2.3.4:443"},
19
		"scheme, address, and port":  {value: "https://1.2.3.4:1234", expect: "https://1.2.3.4:1234"},
20
		"hostname":                   {value: "example.com", expect: "http://example.com:11434"},
21
		"hostname and port":          {value: "example.com:1234", expect: "http://example.com:1234"},
22
		"scheme http and hostname":   {value: "http://example.com", expect: "http://example.com:80"},
23
		"scheme https and hostname":  {value: "https://example.com", expect: "https://example.com:443"},
24
		"scheme, hostname, and port": {value: "https://example.com:1234", expect: "https://example.com:1234"},
25
		"trailing slash":             {value: "example.com/", expect: "http://example.com:11434"},
26
		"trailing slash port":        {value: "example.com:1234/", expect: "http://example.com:1234"},
27
	}
28

29
	for k, v := range testCases {
30
		t.Run(k, func(t *testing.T) {
31
			t.Setenv("OLLAMA_HOST", v.value)
32

33
			client, err := ClientFromEnvironment()
34
			if err != v.err {
35
				t.Fatalf("expected %s, got %s", v.err, err)
36
			}
37

38
			if client.base.String() != v.expect {
39
				t.Fatalf("expected %s, got %s", v.expect, client.base.String())
40
			}
41
		})
42
	}
43
}
44

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

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

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

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