github.com/jamiefdhurst/journal@v0.9.2/pkg/database/database_test.go (about)

     1  package database
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  )
     7  
     8  func TestSqliteClose(t *testing.T) {
     9  	os.Chdir(os.Getenv("GOPATH") + "/src/github.com/jamiefdhurst/journal")
    10  	sqlite := &Sqlite{}
    11  	_ = sqlite.Connect("test/data/test.db")
    12  	sqlite.Close()
    13  }
    14  
    15  func TestSqliteConnect(t *testing.T) {
    16  	os.Chdir(os.Getenv("GOPATH") + "/src/github.com/jamiefdhurst/journal")
    17  	sqlite := &Sqlite{}
    18  	err := sqlite.Connect("test/data/test.db")
    19  	if err != nil {
    20  		t.Errorf("Expected database to have been connected and no error to have been returned")
    21  	}
    22  }
    23  
    24  func TestSqliteExec(t *testing.T) {
    25  	os.Chdir(os.Getenv("GOPATH") + "/src/github.com/jamiefdhurst/journal")
    26  	sqlite := &Sqlite{}
    27  	_ = sqlite.Connect("test/data/test.db")
    28  	result, err := sqlite.Exec("SELECT 1")
    29  	rows, _ := result.RowsAffected()
    30  	if err != nil || rows > 0 {
    31  		t.Errorf("Expected query to have been executed and no rows to have been affected")
    32  	}
    33  }
    34  
    35  func TestSqliteQuery(t *testing.T) {
    36  	os.Chdir(os.Getenv("GOPATH") + "/src/github.com/jamiefdhurst/journal")
    37  	sqlite := &Sqlite{}
    38  	_ = sqlite.Connect("test/data/test.db")
    39  	rows, err := sqlite.Query("SELECT 1 AS example")
    40  	if err != nil {
    41  		t.Errorf("Expected query to have been executed")
    42  	}
    43  	columns, _ := rows.Columns()
    44  	if len(columns) != 1 || columns[0] != "example" {
    45  		t.Errorf("Expected column of 'example' to have been returned")
    46  	}
    47  	var test int
    48  	for rows.Next() {
    49  		rows.Scan(&test)
    50  		if test != 1 {
    51  			t.Errorf("Expected row with value of '1' to have been returned")
    52  		}
    53  	}
    54  	rows.Close()
    55  }