mirror of https://github.com/ollama/ollama.git
				
				
				
			
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
package api
 | 
						|
 | 
						|
import (
 | 
						|
	"testing"
 | 
						|
)
 | 
						|
 | 
						|
func TestClientFromEnvironment(t *testing.T) {
 | 
						|
	type testCase struct {
 | 
						|
		value  string
 | 
						|
		expect string
 | 
						|
		err    error
 | 
						|
	}
 | 
						|
 | 
						|
	testCases := map[string]*testCase{
 | 
						|
		"empty":                      {value: "", expect: "http://127.0.0.1:11434"},
 | 
						|
		"only address":               {value: "1.2.3.4", expect: "http://1.2.3.4:11434"},
 | 
						|
		"only port":                  {value: ":1234", expect: "http://:1234"},
 | 
						|
		"address and port":           {value: "1.2.3.4:1234", expect: "http://1.2.3.4:1234"},
 | 
						|
		"scheme http and address":    {value: "http://1.2.3.4", expect: "http://1.2.3.4:80"},
 | 
						|
		"scheme https and address":   {value: "https://1.2.3.4", expect: "https://1.2.3.4:443"},
 | 
						|
		"scheme, address, and port":  {value: "https://1.2.3.4:1234", expect: "https://1.2.3.4:1234"},
 | 
						|
		"hostname":                   {value: "example.com", expect: "http://example.com:11434"},
 | 
						|
		"hostname and port":          {value: "example.com:1234", expect: "http://example.com:1234"},
 | 
						|
		"scheme http and hostname":   {value: "http://example.com", expect: "http://example.com:80"},
 | 
						|
		"scheme https and hostname":  {value: "https://example.com", expect: "https://example.com:443"},
 | 
						|
		"scheme, hostname, and port": {value: "https://example.com:1234", expect: "https://example.com:1234"},
 | 
						|
		"trailing slash":             {value: "example.com/", expect: "http://example.com:11434"},
 | 
						|
		"trailing slash port":        {value: "example.com:1234/", expect: "http://example.com:1234"},
 | 
						|
	}
 | 
						|
 | 
						|
	for k, v := range testCases {
 | 
						|
		t.Run(k, func(t *testing.T) {
 | 
						|
			t.Setenv("OLLAMA_HOST", v.value)
 | 
						|
 | 
						|
			client, err := ClientFromEnvironment()
 | 
						|
			if err != v.err {
 | 
						|
				t.Fatalf("expected %s, got %s", v.err, err)
 | 
						|
			}
 | 
						|
 | 
						|
			if client.base.String() != v.expect {
 | 
						|
				t.Fatalf("expected %s, got %s", v.expect, client.base.String())
 | 
						|
			}
 | 
						|
		})
 | 
						|
	}
 | 
						|
}
 |