// Copyright (C) 2019-2020 Zilliz. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software distributed under the License // is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express // or implied. See the License for the specific language governing permissions and limitations under the License. package indexnode import ( "testing" "time" ) func TestParamTable(t *testing.T) { Params.Init() t.Run("IP", func(t *testing.T) { t.Logf("IP: %v", Params.IP) }) t.Run("Address", func(t *testing.T) { t.Logf("Address: %v", Params.Address) }) t.Run("Port", func(t *testing.T) { t.Logf("Port: %v", Params.Port) }) t.Run("NodeID", func(t *testing.T) { t.Logf("NodeID: %v", Params.NodeID) }) t.Run("Alias", func(t *testing.T) { t.Logf("Alias: %v", Params.Alias) }) t.Run("EtcdEndpoints", func(t *testing.T) { t.Logf("EtcdEndpoints: %v", Params.EtcdEndpoints) }) t.Run("MetaRootPath", func(t *testing.T) { t.Logf("MetaRootPath: %v", Params.MetaRootPath) }) t.Run("MinIOAddress", func(t *testing.T) { t.Logf("MinIOAddress: %v", Params.MinIOAddress) }) t.Run("MinIOAccessKeyID", func(t *testing.T) { t.Logf("MinIOAccessKeyID: %v", Params.MinIOAccessKeyID) }) t.Run("MinIOSecretAccessKey", func(t *testing.T) { t.Logf("MinIOSecretAccessKey: %v", Params.MinIOSecretAccessKey) }) t.Run("MinIOUseSSL", func(t *testing.T) { t.Logf("MinIOUseSSL: %v", Params.MinIOUseSSL) }) t.Run("MinioBucketName", func(t *testing.T) { t.Logf("MinioBucketName: %v", Params.MinioBucketName) }) t.Run("SimdType", func(t *testing.T) { t.Logf("SimdType: %v", Params.SimdType) }) // FIXME(dragondriver): how to cover panic case? we use `LoadWithDefault` to initialize `SimdType` t.Run("CreatedTime", func(t *testing.T) { Params.CreatedTime = time.Now() t.Logf("CreatedTime: %v", Params.CreatedTime) }) t.Run("UpdatedTime", func(t *testing.T) { Params.UpdatedTime = time.Now() t.Logf("UpdatedTime: %v", Params.UpdatedTime) }) t.Run("IndexRootPath", func(t *testing.T) { t.Logf("IndexRootPath: %v", Params.IndexRootPath) }) } //TODO: Params Load should be return error when key does not exist. //func shouldPanic(t *testing.T, name string, f func()) { // defer func() { // if r := recover(); r != nil { // t.Logf("%v recover: %v", name, r) // } // }() // f() //} // //func TestParamTable_Panic(t *testing.T) { // Params.Init() // // t.Run("initMinIOAddress", func(t *testing.T) { // err := Params.Remove("_MinioAddress") // assert.Nil(t, err) // // shouldPanic(t, "initMinIOAddress", func() { // Params.initMinIOAddress() // }) // }) // // t.Run("initMinIOAccessKeyID", func(t *testing.T) { // err := Params.Remove("minio.accessKeyID") // assert.Nil(t, err) // // shouldPanic(t, "initMinIOAccessKeyID", func() { // Params.initMinIOAccessKeyID() // }) // }) // // t.Run("initMinIOAccessKeyID", func(t *testing.T) { // err := Params.Remove("minio.accessKeyID") // assert.Nil(t, err) // // shouldPanic(t, "initMinIOAccessKeyID", func() { // Params.initMinIOAccessKeyID() // }) // }) // // t.Run("initMinIOSecretAccessKey", func(t *testing.T) { // err := Params.Remove("minio.secretAccessKey") // assert.Nil(t, err) // // shouldPanic(t, "initMinIOSecretAccessKey", func() { // Params.initMinIOSecretAccessKey() // }) // }) // // t.Run("initMinIOUseSSL", func(t *testing.T) { // err := Params.Remove("minio.useSSL") // assert.Nil(t, err) // // shouldPanic(t, "initMinIOUseSSL", func() { // Params.initMinIOUseSSL() // }) // }) // // t.Run("initEtcdEndpoints", func(t *testing.T) { // err := Params.Remove("_EtcdEndpoints") // assert.Nil(t, err) // // shouldPanic(t, "initEtcdEndpoints", func() { // Params.initEtcdEndpoints() // }) // }) // // t.Run("initMetaRootPath", func(t *testing.T) { // err := Params.Remove("etcd.rootPath") // assert.Nil(t, err) // // shouldPanic(t, "initMetaRootPath", func() { // Params.initMetaRootPath() // }) // // err = Params.Save("etcd.rootPath", "test") // assert.Nil(t, err) // err = Params.Remove("etcd.metaSubPath") // assert.Nil(t, err) // // shouldPanic(t, "initMetaRootPath", func() { // Params.initMetaRootPath() // }) // }) // // t.Run("initMinioBucketName", func(t *testing.T) { // err := Params.Remove("minio.bucketName") // assert.Nil(t, err) // // shouldPanic(t, "initMinioBucketName", func() { // Params.initMinioBucketName() // }) // }) //}