74 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
| // +build integration
 | |
| 
 | |
| package rethinkdb
 | |
| 
 | |
| import (
 | |
| 	"log"
 | |
| 	"math/rand"
 | |
| 	"net/url"
 | |
| 	"os"
 | |
| 	"testing"
 | |
| 	"time"
 | |
| 
 | |
| 	"gopkg.in/gorethink/gorethink.v3"
 | |
| )
 | |
| 
 | |
| var connect_url, authKey, username, password string
 | |
| var server *Server
 | |
| 
 | |
| func init() {
 | |
| 	connect_url = os.Getenv("RETHINKDB_URL")
 | |
| 	if connect_url == "" {
 | |
| 		connect_url = "127.0.0.1:28015"
 | |
| 	}
 | |
| 	authKey = os.Getenv("RETHINKDB_AUTHKEY")
 | |
| 	username = os.Getenv("RETHINKDB_USERNAME")
 | |
| 	password = os.Getenv("RETHINKDB_PASSWORD")
 | |
| }
 | |
| 
 | |
| func testSetup(m *testing.M) {
 | |
| 	var err error
 | |
| 	server = &Server{Url: &url.URL{Host: connect_url}}
 | |
| 
 | |
| 	if authKey {
 | |
| 		server.session, _ = gorethink.Connect(gorethink.ConnectOpts{
 | |
| 			Address:          server.Url.Host,
 | |
| 			AuthKey:          authKey,
 | |
| 			HandshakeVersion: gorethink.HandshakeV0_4,
 | |
| 			DiscoverHosts:    false,
 | |
| 		})
 | |
| 	} else {
 | |
| 		server.session, _ = gorethink.Connect(gorethink.ConnectOpts{
 | |
| 			Address:          server.Url.Host,
 | |
| 			Username:         username,
 | |
| 			Password:         password,
 | |
| 			HandshakeVersion: gorethink.HandshakeV1_0,
 | |
| 			DiscoverHosts:    false,
 | |
| 		})
 | |
| 	}
 | |
| 
 | |
| 	if err != nil {
 | |
| 		log.Fatalln(err.Error())
 | |
| 	}
 | |
| 
 | |
| 	err = server.getServerStatus()
 | |
| 	if err != nil {
 | |
| 		log.Fatalln(err.Error())
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func testTeardown(m *testing.M) {
 | |
| 	server.session.Close()
 | |
| }
 | |
| 
 | |
| func TestMain(m *testing.M) {
 | |
| 	// seed randomness for use with tests
 | |
| 	rand.Seed(time.Now().UTC().UnixNano())
 | |
| 
 | |
| 	testSetup(m)
 | |
| 	res := m.Run()
 | |
| 	testTeardown(m)
 | |
| 
 | |
| 	os.Exit(res)
 | |
| }
 |