Revert "WIP CLI"

This reverts commit 02b6ee7146.
This commit is contained in:
Jeroen Bobbeldijk
2017-09-17 10:48:09 +02:00
parent 9b09dfada8
commit 411accf30f
3 changed files with 158 additions and 197 deletions

View File

@@ -4,10 +4,14 @@ import (
"log"
"os"
"bitbucket.org/digitorus/pdfsign/sign"
"github.com/BurntSushi/toml"
"github.com/asaskevich/govalidator"
)
func init() {
govalidator.SetFieldsRequiredByDefault(true)
}
var (
DefaultLocation string = "./pdfsign.conf" // Default location of the config file
Settings Config // Initialized once inside Read method Settings are stored in memory.
@@ -15,8 +19,24 @@ var (
// Config is the root of the config
type Config struct {
Info sign.SignDataSignatureInfo
TSA sign.TSA
//Info:
//Name: "Jeroen Bobbeldijk",
//Location: "Rotterdam",
//Reason: "Test",
//ContactInfo: "Geen",
//CertType: 2,
//Approval: false,
//TSA: sign.TSA{
//URL: "http://aatl-timestamp.globalsign.com/tsa/aohfewat2389535fnasgnlg5m23",
}
// ValidateFields validates all the fields of the config
func (c Config) ValidateFields() error {
_, err := govalidator.ValidateStruct(c)
if err != nil {
return err
}
return nil
}
func Read(configfile string) {
@@ -30,5 +50,9 @@ func Read(configfile string) {
if _, err := toml.DecodeFile(configfile, &c); err != nil {
}
if err := c.ValidateFields(); err != nil {
log.Fatal("Config is not valid: ", err)
}
Settings = c
}

View File

@@ -20,5 +20,18 @@ staticPath = "../static"
}
// Root
assert.Equal(t, "../static", c)
assert.Equal(t, "../static", c.StaticPath)
}
func TestValidation(t *testing.T) {
const configContent = ``
var c config.Config
if _, err := toml.Decode(configContent, &c); err != nil {
t.Error(err)
}
err := c.ValidateFields()
assert.NotNil(t, err)
}