Beispiel #1
0
func TestLoad(t *testing.T) {
	m1 := model551.Load()
	m2 := model551.Load()

	if m1 == nil {
		t.Errorf("インスタンスの生成に失敗しました。")
	}
	if m2 == nil {
		t.Errorf("インスタンスの生成に失敗しました。")
	}
}
func TestMain(m *testing.M) {

	dbConfig := &mysql551.Config{
		Host:     "tcp(localhost:3306)",
		User:     "******",
		Password: "",
		Database: "repository551",
	}
	db = mysql551.New(dbConfig)
	db.Open()
	defer db.Close()

	// Truncate
	sql := "TRUNCATE TABLE sample"
	_, _ = db.Exec(sql)
	sql = "TRUNCATE TABLE sample_delete"
	_, _ = db.Exec(sql)

	// Insert
	sql = "INSERT INTO sample (`group_id`, `name`, `description`) VALUES (?, ?, ?)"
	_, _ = db.Exec(sql, 2, "pubapp.biz_1", "domain_1")
	_, _ = db.Exec(sql, 1, "pubapp.biz_2", "domain_2")
	_, _ = db.Exec(sql, 2, "pubapp.biz_3", "domain_3")
	_, _ = db.Exec(sql, 2, "pubapp.biz_4", "domain_4")
	_, _ = db.Exec(sql, 3, "pubapp.biz_5", "domain_5")

	mm = model551.Load()
	mm.Add(NewSampleModel, NewSampleModelPointer)

	code := m.Run()

	os.Exit(code)

}
Beispiel #3
0
func (g *gorai) initialize() {
	g.config = loadConfig()

	// Logger
	if isConsole() {
		g.logger = log551.New(&g.config.Framework.CommandLog)
	} else {
		g.logger = log551.New(&g.config.Framework.SystemLog)
	}
	g.logger.Open()
	defer g.logger.Close()

	// Router
	g.router = router551.Load()

	// ModelManager
	g.modelManager = model551.Load()

	// Add Auth Model
	g.modelManager.Add(auth551.NewUserModel, auth551.NewUserModelPointer)
	g.modelManager.Add(auth551.NewUserTokenModel, auth551.NewUserTokenModelPointer)

	// Auth
	g.auth = auth551.Load(&g.config.Framework.Auth)
}
Beispiel #4
0
func TestSql(t *testing.T) {
	m := model551.Load()

	mSampleModel := m.Get("SampleModel")
	mSampleModelTableInfo := m.Get("SampleModelTableInfo")

	// Insert
	sql := "INSERT INTO `sample_model` (`name`, `description`) VALUES (?, ?)"
	if mSampleModel.SqlInformation.Insert != sql {
		t.Errorf("SQLキャッシュが失敗しました。\nOK: %s\nNG: %s\n", sql, mSampleModel.SqlInformation.Insert)
	}
	sql = "INSERT INTO `table_information` (`description`) VALUES (?)"
	if mSampleModelTableInfo.SqlInformation.Insert != sql {
		t.Errorf("SQLキャッシュが失敗しました。\nOK: %s\nNG: %s\n", sql, mSampleModelTableInfo.SqlInformation.Insert)
	}

	// Select
	sql = "SELECT `id`, `name`, `description` FROM `sample_model` WHERE 1 = 1"
	if mSampleModel.SqlInformation.Select != sql {
		t.Errorf("SQLキャッシュが失敗しました。\nOK: %s\nNG: %s\n", sql, mSampleModel.SqlInformation.Select)
	}
	sql = "SELECT `id`, `description` FROM `table_information` WHERE 1 = 1"
	if mSampleModelTableInfo.SqlInformation.Select != sql {
		t.Errorf("SQLキャッシュが失敗しました。\nOK: %s\nNG: %s\n", sql, mSampleModelTableInfo.SqlInformation.Select)
	}

	// Update
	sql = "UPDATE `sample_model` SET `name` = ?, `description` = ? WHERE `id` = ?"
	if mSampleModel.SqlInformation.Update != sql {
		t.Errorf("SQLキャッシュが失敗しました。\nOK: %s\nNG: %s\n", sql, mSampleModel.SqlInformation.Update)
	}
	sql = "UPDATE `table_information` SET `description` = ? WHERE `id` = ?"
	if mSampleModelTableInfo.SqlInformation.Update != sql {
		t.Errorf("SQLキャッシュが失敗しました。\nOK: %s\nNG: %s\n", sql, mSampleModelTableInfo.SqlInformation.Update)
	}

	// Delete
	sql = "DELETE FROM `sample_model` WHERE `id` = ?"
	if mSampleModel.SqlInformation.Delete != sql {
		t.Errorf("SQLキャッシュが失敗しました。\nOK: %s\nNG: %s\n", sql, mSampleModel.SqlInformation.Delete)
	}
	sql = "DELETE FROM `table_information` WHERE `id` = ?"
	if mSampleModelTableInfo.SqlInformation.Delete != sql {
		t.Errorf("SQLキャッシュが失敗しました。\nOK: %s\nNG: %s\n", sql, mSampleModelTableInfo.SqlInformation.Delete)
	}

	// Delete
	sql = ""
	if mSampleModel.SqlInformation.LogicalDelete != sql {
		t.Errorf("SQLキャッシュが失敗しました。\nOK: %s\nNG: %s\n", sql, mSampleModel.SqlInformation.LogicalDelete)
	}
	sql = "INSERT INTO `table_information_delete` (`id`, `description`, `deleted_at`) VALUES (?, ?, ?)"
	if mSampleModelTableInfo.SqlInformation.LogicalDelete != sql {
		t.Errorf("SQLキャッシュが失敗しました。\nOK: %s\nNG: %s\n", sql, mSampleModelTableInfo.SqlInformation.LogicalDelete)
	}

}
Beispiel #5
0
func TestAdd(t *testing.T) {
	m := model551.Load()

	m.Add(NewSampleModel, NewSampleModelPointer)

	detail := m.Get("SampleModel")

	if detail.ModelName != "SampleModel" {
		t.Errorf("モデルの保持に失敗しました。")
	}
	if detail.ModelType.Name() != "SampleModel" {
		t.Errorf("モデルの保持に失敗しました。")
	}
}
Beispiel #6
0
func TestTableInfo(t *testing.T) {
	m := model551.Load()

	m.Add(NewSampleModelTableInfo, NewSampleModelPointer)

	mSampleModel := m.Get("SampleModel")
	mSampleModelTableInfo := m.Get("SampleModelTableInfo")

	// table name
	if mSampleModel.TableInformation.TableName != "sample_model" {
		t.Errorf("テーブル名の解析に失敗しました。\n\"sample_model\" => \"%s\"\n", mSampleModel.TableInformation.TableName)
	}
	if mSampleModelTableInfo.TableInformation.TableName != "table_information" {
		t.Errorf("テーブル名の解析に失敗しました。\n\"table_information\" => \"%s\"\n", mSampleModelTableInfo.TableInformation.TableName)
	}

	// primary key
	if mSampleModel.TableInformation.PrimaryKey != "id" {
		t.Errorf("プライマリーキーの解析に失敗しました。\n\"id\" => \"%s\"\n", mSampleModel.TableInformation.PrimaryKey)
	}
	if mSampleModelTableInfo.TableInformation.PrimaryKey != "id" {
		t.Errorf("プライマリーキーの解析に失敗しました。\n\"id\" => \"%s\"\n", mSampleModelTableInfo.TableInformation.PrimaryKey)
	}

	// delete table
	if mSampleModel.TableInformation.DeleteTable {
		t.Errorf("論理削除の解析に失敗しました。\n\"false\" => \"ture\"\n")
	}
	if !mSampleModelTableInfo.TableInformation.DeleteTable {
		t.Errorf("論理削除の解析に失敗しました。\n\"true\" => \"false\"\n")
	}
	if mSampleModelTableInfo.TableInformation.DeletedAtField != "deleted_at" {
		t.Errorf("論理削除の解析に失敗しました。\n\"deleted_at\" => \"%s\"\n", mSampleModelTableInfo.TableInformation.DeletedAtField)
	}

	// Field
	if len(mSampleModel.TableInformation.Fields) != 3 {
		t.Errorf("フィールドの解析に失敗しました。\n\"3\" => \"%d\"\nDump: %#v\n", len(mSampleModel.TableInformation.Fields), mSampleModel.TableInformation.Fields)
	}
	if len(mSampleModelTableInfo.TableInformation.Fields) != 2 {
		t.Errorf("フィールドの解析に失敗しました。\n\"2\" => \"%d\"\nDump: %#v\n", len(mSampleModelTableInfo.TableInformation.Fields), mSampleModelTableInfo.TableInformation.Fields)
	}
	if mSampleModelTableInfo.TableInformation.Fields[0] != "id" {
		t.Errorf("フィールドの解析に失敗しました。\n\"id\" => \"%s\"\nDump: %#v\n", mSampleModelTableInfo.TableInformation.Fields[0], mSampleModelTableInfo.TableInformation.Fields)
	}
}
Beispiel #7
0
func BenchmarkLoad(b *testing.B) {
	b.ResetTimer()
	for i := 0; i < b.N; i++ {
		_ = model551.Load()
	}
}