You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							44 lines
						
					
					
						
							808 B
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							44 lines
						
					
					
						
							808 B
						
					
					
				
								package command
							 | 
						|
								
							 | 
						|
								import (
							 | 
						|
									"bytes"
							 | 
						|
									"fmt"
							 | 
						|
									"testing"
							 | 
						|
								
							 | 
						|
									"github.com/spf13/viper"
							 | 
						|
								)
							 | 
						|
								
							 | 
						|
								func TestReadingTomlConfiguration(t *testing.T) {
							 | 
						|
								
							 | 
						|
									viper.SetConfigType("toml")
							 | 
						|
								
							 | 
						|
									// any approach to require this configuration into your program.
							 | 
						|
									var tomlExample = []byte(`
							 | 
						|
								[database]
							 | 
						|
								server = "192.168.1.1"
							 | 
						|
								ports = [ 8001, 8001, 8002 ]
							 | 
						|
								connection_max = 5000
							 | 
						|
								enabled = true
							 | 
						|
								
							 | 
						|
								[servers]
							 | 
						|
								
							 | 
						|
								  # You can indent as you please. Tabs or spaces. TOML don't care.
							 | 
						|
								  [servers.alpha]
							 | 
						|
								  ip = "10.0.0.1"
							 | 
						|
								  dc = "eqdc10"
							 | 
						|
								
							 | 
						|
								  [servers.beta]
							 | 
						|
								  ip = "10.0.0.2"
							 | 
						|
								  dc = "eqdc10"
							 | 
						|
								
							 | 
						|
								`)
							 | 
						|
								
							 | 
						|
									viper.ReadConfig(bytes.NewBuffer(tomlExample))
							 | 
						|
								
							 | 
						|
									fmt.Printf("database is %v\n", viper.Get("database"))
							 | 
						|
									fmt.Printf("servers is %v\n", viper.GetStringMap("servers"))
							 | 
						|
								
							 | 
						|
									alpha := viper.Sub("servers.alpha")
							 | 
						|
								
							 | 
						|
									fmt.Printf("alpha ip is %v\n", alpha.GetString("ip"))
							 | 
						|
								}
							 |