github.com/hy3/cuto@v0.9.8-0.20160830082821-aa6652f877b7/db/tx/jobtx_test.go (about)

     1  // Copyright 2015 unirita Inc.
     2  // Created 2015/04/10 shanxia
     3  
     4  package tx
     5  
     6  import (
     7  	"sync"
     8  	"testing"
     9  
    10  	"github.com/unirita/cuto/db"
    11  	"github.com/unirita/cuto/utctime"
    12  )
    13  
    14  var mutex sync.Mutex
    15  
    16  func TestInsertJob_ジョブの新規登録処理(t *testing.T) {
    17  	conn, err := db.Open(db_name)
    18  	if err != nil {
    19  		t.Fatal(err)
    20  	}
    21  	defer conn.Close()
    22  
    23  	err = InsertJob(conn,
    24  		&db.JobResult{
    25  			ID:        121,
    26  			JobId:     "JOB001",
    27  			JobName:   "abcjob.bat",
    28  			StartDate: utctime.Now().String(),
    29  			Status:    db.RUNNING,
    30  			Node:      "TestNode01",
    31  			Port:      9999,
    32  		}, &mutex)
    33  	if err != nil {
    34  		t.Error("ジョブテーブルへの登録に失敗しました。 - ", err)
    35  	}
    36  }
    37  
    38  func TestInsertJob_ジョブの新規登録失敗(t *testing.T) {
    39  	conn, err := db.Open(dummy_db)
    40  	if err != nil {
    41  		t.Fatal(err)
    42  	}
    43  	defer conn.Close()
    44  
    45  	err = InsertJob(conn,
    46  		&db.JobResult{
    47  			ID:        131,
    48  			JobId:     "JOB001",
    49  			JobName:   "abcjob.bat",
    50  			StartDate: utctime.Now().String(),
    51  			Status:    db.RUNNING,
    52  			Node:      "TestNode01",
    53  			Port:      9999,
    54  		}, &mutex)
    55  	if err == nil {
    56  		t.Error("予定していた失敗が返りませんでした。 - ")
    57  	}
    58  }
    59  
    60  func TestUpdateJob_ジョブの更新処理(t *testing.T) {
    61  	conn, err := db.Open(db_name)
    62  	if err != nil {
    63  		t.Fatal(err)
    64  	}
    65  	defer conn.Close()
    66  
    67  	jobres := &db.JobResult{
    68  		ID:        122,
    69  		JobId:     "JOB002",
    70  		JobName:   "XYZ.vbs",
    71  		StartDate: utctime.Now().String(),
    72  		Status:    db.RUNNING,
    73  		Node:      "TestNode02",
    74  		Port:      9999,
    75  	}
    76  	err = InsertJob(conn, jobres, &mutex)
    77  	if err != nil {
    78  		t.Fatal("ジョブテーブルへの登録に失敗しました。 - ", err)
    79  	}
    80  	jobres.Status = db.ABNORMAL
    81  	jobres.Variable = "VAR"
    82  	jobres.EndDate = utctime.Now().String()
    83  	jobres.Detail = "Attention!!"
    84  	jobres.Rc = 4
    85  
    86  	err = UpdateJob(conn, jobres, &mutex)
    87  	if err != nil {
    88  		t.Error("ジョブテーブルの更新に失敗しました。 - ", err)
    89  	}
    90  }
    91  
    92  func TestUpdateJob_ジョブの登録前に更新(t *testing.T) {
    93  	conn, err := db.Open(dummy_db)
    94  	if err != nil {
    95  		t.Fatal(err)
    96  	}
    97  	defer conn.Close()
    98  
    99  	jobres := &db.JobResult{
   100  		ID:        132,
   101  		JobId:     "JOB002",
   102  		JobName:   "XYZ.vbs",
   103  		StartDate: utctime.Now().String(),
   104  		Status:    db.RUNNING,
   105  		Node:      "TestNode02",
   106  		Port:      9999,
   107  	}
   108  	err = UpdateJob(conn, jobres, &mutex)
   109  	if err == nil {
   110  		t.Error("予定していた失敗が返りませんでした。 - ")
   111  	}
   112  }
   113  
   114  func TestUpdateJob_ジョブの更新失敗(t *testing.T) {
   115  	conn, err := db.Open(dummy_db)
   116  	if err != nil {
   117  		t.Fatal(err)
   118  	}
   119  	defer conn.Close()
   120  
   121  	jobres := &db.JobResult{
   122  		ID:        122,
   123  		JobId:     "JOB002",
   124  		JobName:   "XYZ.vbs",
   125  		StartDate: utctime.Now().String(),
   126  		Status:    db.RUNNING,
   127  		Node:      "TestNode02",
   128  		Port:      9999,
   129  	}
   130  	err = UpdateJob(conn, jobres, &mutex)
   131  	if err == nil {
   132  		t.Error("予定していた失敗が返りませんでした。 - ")
   133  	}
   134  }