From d543ef789a4282664de4129e8e348cfc6f47488e Mon Sep 17 00:00:00 2001 From: James Farrell Date: Mon, 13 Mar 2023 15:36:05 +0000 Subject: [PATCH] added tests and updated changelog&version --- CHANGELOG.md | 5 +++++ rest/client.go | 2 +- rest/model/data/meta_test.go | 37 ++++++++++++++++++++++++++++++++++-- 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d8e6fdf..9480698 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## 2.7.5 (March 13, 2023) +BUG FIXES: + +* Fixes `additonal_metadata` parsing + ## 2.7.4 (January 17, 2023) FEATURES: diff --git a/rest/client.go b/rest/client.go index ad11684..61cbf0f 100644 --- a/rest/client.go +++ b/rest/client.go @@ -13,7 +13,7 @@ import ( ) const ( - clientVersion = "2.7.4" + clientVersion = "2.7.5" defaultEndpoint = "https://api.nsone.net/v1/" defaultShouldFollowPagination = true diff --git a/rest/model/data/meta_test.go b/rest/model/data/meta_test.go index 7d587d7..05394a8 100644 --- a/rest/model/data/meta_test.go +++ b/rest/model/data/meta_test.go @@ -23,6 +23,11 @@ func TestMeta_StringMap(t *testing.T) { "bias": "*0.55", "a5m_cutoff": 0.9, }} + meta.AdditionalMetadata = []interface{}{map[string]interface{}{ + "a": "1", + "b": "2", + "c": "3", + }} m := meta.StringMap() if m["up"].(string) != "1" { @@ -70,6 +75,11 @@ func TestMeta_StringMap(t *testing.T) { t.Fatal("pulsar should be", expected, "was", m["pulsar"].(string)) } + expected = `[{"a":"1","b":"2","c":"3"}]` + if m["additional_metadata"].(string) != expected { + t.Fatal("additional_metadata should be", expected, "was", m["additional_metadata"].(string)) + } + expected = `{"feed":"12345678"}` if m["longitude"].(string) != expected { t.Fatal("longitude should be", expected, "was", m["longitude"].(string)) @@ -152,6 +162,7 @@ func TestMetaFromMap(t *testing.T) { m["ip_prefixes"] = "1.1.1.1/24,2.2.2.2/24" m["asn"] = "1" m["pulsar"] = `[{"job_id":"abcdef","bias":"*0.55","a5m_cutoff":0.9}]` + m["additional_metadata"] = `[{"a":"1","b":"2","c":"3"}]` meta := MetaFromMap(m) if meta.ASN.(string) != "1" { @@ -183,6 +194,15 @@ func TestMetaFromMap(t *testing.T) { t.Fatalf("meta.Pulsar should be %v, was %v", expect, meta.Pulsar) } + expect = []map[string]interface{}{map[string]interface{}{ + "a": "1", + "b": "2", + "c": "3", + }} + if !reflect.DeepEqual(meta.AdditionalMetadata, expect) { + t.Fatalf("meta.AdditonalMetadata should be %v, was %v", expect, meta.AdditionalMetadata) + } + expected := []string{"1.1.1.1/24", "2.2.2.2/24"} if !reflect.DeepEqual(meta.IPPrefixes.([]string), expected) { t.Fatal("meta.IPPrefixes should be a slice containing elements `1.1.1.1/24` and `2.2.2.2/24`") @@ -271,6 +291,11 @@ func TestMeta_Validate(t *testing.T) { "bias": "*0.55", "a5m_cutoff": 0.9, }} + m.AdditionalMetadata = []interface{}{map[string]interface{}{ + "a": "1", + "b": "2", + "c": "3", + }} errs := m.Validate() if len(errs) > 0 { t.Fatal("there should be 0 errors, but there were", len(errs), ":", errs) @@ -298,9 +323,17 @@ func TestMeta_Validate(t *testing.T) { m.IPPrefixes = "1234567" m.Priority = -1 m.Pulsar = []interface{}{map[string]interface{}{}} + addData := make([]map[string]interface{}, 2) + addData[0] = map[string]interface{}{ + "a": "1", + } + addData[1] = map[string]interface{}{ + "b": "2", + } + m.AdditionalMetadata = addData errs = m.Validate() - if len(errs) != 16 { - t.Fatal("expected 15 errors, but there were", len(errs), ":", errs) + if len(errs) != 17 { + t.Fatal("expected 17 errors, but there were", len(errs), ":", errs) } m = &Meta{}