Add additional tags for x509 Input Plugin (#6686)
This commit is contained in:
committed by
Daniel Nelson
parent
e061376846
commit
6eb21978e6
@@ -5,6 +5,7 @@ import (
|
||||
"encoding/base64"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"math/big"
|
||||
"os"
|
||||
"testing"
|
||||
"time"
|
||||
@@ -195,6 +196,61 @@ func TestGatherLocal(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestTags(t *testing.T) {
|
||||
cert := fmt.Sprintf("%s\n%s", pki.ReadServerCert(), pki.ReadCACert())
|
||||
|
||||
f, err := ioutil.TempFile("", "x509_cert")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
_, err = f.Write([]byte(cert))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
err = f.Close()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
defer os.Remove(f.Name())
|
||||
|
||||
sc := X509Cert{
|
||||
Sources: []string{f.Name()},
|
||||
}
|
||||
sc.Init()
|
||||
|
||||
acc := testutil.Accumulator{}
|
||||
err = sc.Gather(&acc)
|
||||
require.NoError(t, err)
|
||||
|
||||
assert.True(t, acc.HasMeasurement("x509_cert"))
|
||||
|
||||
assert.True(t, acc.HasTag("x509_cert", "common_name"))
|
||||
assert.Equal(t, "server.localdomain", acc.TagValue("x509_cert", "common_name"))
|
||||
|
||||
assert.True(t, acc.HasTag("x509_cert", "signature_algorithm"))
|
||||
assert.Equal(t, "SHA256-RSA", acc.TagValue("x509_cert", "signature_algorithm"))
|
||||
|
||||
assert.True(t, acc.HasTag("x509_cert", "public_key_algorithm"))
|
||||
assert.Equal(t, "RSA", acc.TagValue("x509_cert", "public_key_algorithm"))
|
||||
|
||||
assert.True(t, acc.HasTag("x509_cert", "issuer_common_name"))
|
||||
assert.Equal(t, "Telegraf Test CA", acc.TagValue("x509_cert", "issuer_common_name"))
|
||||
|
||||
assert.True(t, acc.HasTag("x509_cert", "san"))
|
||||
assert.Equal(t, "localhost,127.0.0.1", acc.TagValue("x509_cert", "san"))
|
||||
|
||||
assert.True(t, acc.HasTag("x509_cert", "serial_number"))
|
||||
serialNumber := new(big.Int)
|
||||
_, validSerialNumber := serialNumber.SetString(acc.TagValue("x509_cert", "serial_number"), 16)
|
||||
if !validSerialNumber {
|
||||
t.Errorf("Expected a valid Hex serial number but got %s", acc.TagValue("x509_cert", "serial_number"))
|
||||
}
|
||||
assert.Equal(t, big.NewInt(1), serialNumber)
|
||||
}
|
||||
|
||||
func TestGatherChain(t *testing.T) {
|
||||
cert := fmt.Sprintf("%s\n%s", pki.ReadServerCert(), pki.ReadCACert())
|
||||
|
||||
|
||||
Reference in New Issue
Block a user