diff --git a/netbox/generate_basic_tests.go b/netbox/generate_basic_tests.go index 35bd6ff668557f99e08f4a1a66d1cd66d83c4687..01d83e7dd6d9cfbfd85a60dd01e955e0d9b9597a 100644 --- a/netbox/generate_basic_tests.go +++ b/netbox/generate_basic_tests.go @@ -223,7 +223,7 @@ func TestBasicCreate{{ .TypeName }}(t *testing.T) { var tests = []struct { desc string data *{{ .TypeName }} - want *{{ .TypeName }} + want int serverData interface{} status int errstr string @@ -231,7 +231,7 @@ func TestBasicCreate{{ .TypeName }}(t *testing.T) { { desc: "Create with ID 0", data: test{{ .TypeName }}Create(1), - want: test{{ .TypeName }}(1), + want: 1, status: 0, errstr: "", serverData: test{{ .TypeName }}(1), @@ -239,7 +239,7 @@ func TestBasicCreate{{ .TypeName }}(t *testing.T) { { desc: "Create duplicate", data: test{{ .TypeName }}Create(1), - want: nil, + want: 0, status: http.StatusBadRequest, errstr: "400 - {\"name\":[\"{{ .ServiceName }} with this name already exists.\"]}\n", serverData: &struct { @@ -275,15 +275,15 @@ func TestBasicUpdate{{ .TypeName }}(t *testing.T) { var tests = []struct { desc string data *{{ .TypeName }} - want *{{ .TypeName }} + want int serverData interface{} status int errstr string }{ { - desc: "Create with ID 1", + desc: "Update with ID 1", data: test{{ .TypeName }}(1), - want: test{{ .TypeName }}(1), + want: 1, serverData: test{{ .TypeName }}(1), status: 0, errstr: "", @@ -291,7 +291,7 @@ func TestBasicUpdate{{ .TypeName }}(t *testing.T) { { desc: "Update not found", data: test{{ .TypeName }}(1), - want: nil, + want: 0, serverData: &struct { Detail string }{ @@ -301,9 +301,9 @@ func TestBasicUpdate{{ .TypeName }}(t *testing.T) { errstr: "404 - Not found.", }, { - desc: "Create duplicate", + desc: "Update to duplicate", data: test{{ .TypeName }}(1), - want: nil, + want: 0, serverData: &struct { Name []string {{ call .JSONTag "name" }} }{ diff --git a/netbox/generate_functions.go b/netbox/generate_functions.go index 84619282e883d89e94eabd1578951f174e6a61ad..de6f33a2898d1e24e0d37bdffa19c38485a45481 100644 --- a/netbox/generate_functions.go +++ b/netbox/generate_functions.go @@ -149,31 +149,30 @@ func (s *{{ .ServiceName }}) Extract(page *Page) ([]*{{ .TypeName }}, error) { return groups, nil } -// Create creates a new {{ .TypeName }} object in NetBox and returns the new object. -func (s *{{ .ServiceName }}) Create(data *{{ .TypeName }}) (*{{ .TypeName }}, error) { +// Create creates a new {{ .TypeName }} object in NetBox and returns the ID of the new object. +func (s *{{ .ServiceName }}) Create(data *{{ .TypeName }}) (int, error) { req, err := s.c.NewJSONRequest(http.MethodPost, "api/{{ .Endpoint }}/{{ .Service }}/", nil, data) if err != nil { - return nil, err + return 0, err } g := new({{ .UpdateTypeName }}) err = s.c.Do(req, g) if err != nil { - return nil, err + return 0, err } - data.ID = g.ID - return data, nil + return g.ID, nil } -// Update changes an existing {{ .TypeName }} object in NetBox, and returns the new object. -func (s *{{ .ServiceName }}) Update(data *{{ .TypeName }}) (*{{ .TypeName }}, error) { +// Update changes an existing {{ .TypeName }} object in NetBox, and returns the ID of the new object. +func (s *{{ .ServiceName }}) Update(data *{{ .TypeName }}) (int, error) { req, err := s.c.NewJSONRequest( http.MethodPatch, fmt.Sprintf("api/{{ .Endpoint }}/{{ .Service }}/%d/", data.ID), nil, data) if err != nil { - return nil, err + return 0, err } // g is just used to verify correct api result. @@ -183,9 +182,9 @@ func (s *{{ .ServiceName }}) Update(data *{{ .TypeName }}) (*{{ .TypeName }}, er g := new({{ .UpdateTypeName }}) err = s.c.Do(req, g) if err != nil { - return nil, err + return 0, err } - return data, nil + return g.ID, nil } // Delete deletes an existing {{ .TypeName }} object from NetBox. diff --git a/netbox/tenancy_tenant-groups.go b/netbox/tenancy_tenant-groups.go index 66feef51c397eeebb3f489051711bc2cc1a50aff..a774faee21ee17c26adfac13841d5384a5fd7cca 100644 --- a/netbox/tenancy_tenant-groups.go +++ b/netbox/tenancy_tenant-groups.go @@ -14,7 +14,7 @@ // GENERATED BY THE COMMAND ABOVE; DO NOT EDIT // This file was generated by robots at -// 2017-05-17 14:19:30.696198918 +0200 CEST +// 2017-05-18 14:20:17.056969293 +0200 CEST package netbox @@ -66,31 +66,30 @@ func (s *TenantGroupsService) Extract(page *Page) ([]*TenantGroup, error) { return groups, nil } -// Create creates a new TenantGroup object in NetBox and returns the new object. -func (s *TenantGroupsService) Create(data *TenantGroup) (*TenantGroup, error) { +// Create creates a new TenantGroup object in NetBox and returns the ID of the new object. +func (s *TenantGroupsService) Create(data *TenantGroup) (int, error) { req, err := s.c.NewJSONRequest(http.MethodPost, "api/tenancy/tenant-groups/", nil, data) if err != nil { - return nil, err + return 0, err } g := new(TenantGroup) err = s.c.Do(req, g) if err != nil { - return nil, err + return 0, err } - data.ID = g.ID - return data, nil + return g.ID, nil } -// Update changes an existing TenantGroup object in NetBox, and returns the new object. -func (s *TenantGroupsService) Update(data *TenantGroup) (*TenantGroup, error) { +// Update changes an existing TenantGroup object in NetBox, and returns the ID of the new object. +func (s *TenantGroupsService) Update(data *TenantGroup) (int, error) { req, err := s.c.NewJSONRequest( http.MethodPatch, fmt.Sprintf("api/tenancy/tenant-groups/%d/", data.ID), nil, data) if err != nil { - return nil, err + return 0, err } // g is just used to verify correct api result. @@ -100,9 +99,9 @@ func (s *TenantGroupsService) Update(data *TenantGroup) (*TenantGroup, error) { g := new(TenantGroup) err = s.c.Do(req, g) if err != nil { - return nil, err + return 0, err } - return data, nil + return g.ID, nil } // Delete deletes an existing TenantGroup object from NetBox. diff --git a/netbox/tenancy_tenant-groups_basic_test.go b/netbox/tenancy_tenant-groups_basic_test.go index 9d3ab3cf0558076325a047a01b6dc94f55790e88..b96098df1a330a5aac4e5f0ee786c550970ded30 100644 --- a/netbox/tenancy_tenant-groups_basic_test.go +++ b/netbox/tenancy_tenant-groups_basic_test.go @@ -14,7 +14,7 @@ // GENERATED BY THE COMMAND ABOVE; DO NOT EDIT // This file was generated by robots at -// 2017-05-17 14:19:30.943187077 +0200 CEST +// 2017-05-18 14:20:17.307177904 +0200 CEST package netbox @@ -142,7 +142,7 @@ func TestBasicCreateTenantGroup(t *testing.T) { var tests = []struct { desc string data *TenantGroup - want *TenantGroup + want int serverData interface{} status int errstr string @@ -150,7 +150,7 @@ func TestBasicCreateTenantGroup(t *testing.T) { { desc: "Create with ID 0", data: testTenantGroupCreate(1), - want: testTenantGroup(1), + want: 1, status: 0, errstr: "", serverData: testTenantGroup(1), @@ -158,7 +158,7 @@ func TestBasicCreateTenantGroup(t *testing.T) { { desc: "Create duplicate", data: testTenantGroupCreate(1), - want: nil, + want: 0, status: http.StatusBadRequest, errstr: "400 - {\"name\":[\"TenantGroupsService with this name already exists.\"]}\n", serverData: &struct { @@ -194,15 +194,15 @@ func TestBasicUpdateTenantGroup(t *testing.T) { var tests = []struct { desc string data *TenantGroup - want *TenantGroup + want int serverData interface{} status int errstr string }{ { - desc: "Create with ID 1", + desc: "Update with ID 1", data: testTenantGroup(1), - want: testTenantGroup(1), + want: 1, serverData: testTenantGroup(1), status: 0, errstr: "", @@ -210,7 +210,7 @@ func TestBasicUpdateTenantGroup(t *testing.T) { { desc: "Update not found", data: testTenantGroup(1), - want: nil, + want: 0, serverData: &struct { Detail string }{ @@ -220,9 +220,9 @@ func TestBasicUpdateTenantGroup(t *testing.T) { errstr: "404 - Not found.", }, { - desc: "Create duplicate", + desc: "Update to duplicate", data: testTenantGroup(1), - want: nil, + want: 0, serverData: &struct { Name []string `json:"name"` }{ diff --git a/netbox/tenancy_tenants.go b/netbox/tenancy_tenants.go index c9cc00cb50577a45b0b59220e4d28b862b0f7978..5b751de150227ee0515c1ce56a539808b79c7c69 100644 --- a/netbox/tenancy_tenants.go +++ b/netbox/tenancy_tenants.go @@ -14,7 +14,7 @@ // GENERATED BY THE COMMAND ABOVE; DO NOT EDIT // This file was generated by robots at -// 2017-05-17 14:19:31.190654936 +0200 CEST +// 2017-05-18 14:20:17.557582817 +0200 CEST package netbox @@ -66,31 +66,30 @@ func (s *TenantsService) Extract(page *Page) ([]*Tenant, error) { return groups, nil } -// Create creates a new Tenant object in NetBox and returns the new object. -func (s *TenantsService) Create(data *Tenant) (*Tenant, error) { +// Create creates a new Tenant object in NetBox and returns the ID of the new object. +func (s *TenantsService) Create(data *Tenant) (int, error) { req, err := s.c.NewJSONRequest(http.MethodPost, "api/tenancy/tenants/", nil, data) if err != nil { - return nil, err + return 0, err } g := new(updateTenant) err = s.c.Do(req, g) if err != nil { - return nil, err + return 0, err } - data.ID = g.ID - return data, nil + return g.ID, nil } -// Update changes an existing Tenant object in NetBox, and returns the new object. -func (s *TenantsService) Update(data *Tenant) (*Tenant, error) { +// Update changes an existing Tenant object in NetBox, and returns the ID of the new object. +func (s *TenantsService) Update(data *Tenant) (int, error) { req, err := s.c.NewJSONRequest( http.MethodPatch, fmt.Sprintf("api/tenancy/tenants/%d/", data.ID), nil, data) if err != nil { - return nil, err + return 0, err } // g is just used to verify correct api result. @@ -100,9 +99,9 @@ func (s *TenantsService) Update(data *Tenant) (*Tenant, error) { g := new(updateTenant) err = s.c.Do(req, g) if err != nil { - return nil, err + return 0, err } - return data, nil + return g.ID, nil } // Delete deletes an existing Tenant object from NetBox. diff --git a/netbox/tenancy_tenants_basic_test.go b/netbox/tenancy_tenants_basic_test.go index f954536cffa5253c878124e1a601f32bac84ec5c..6586429ac3975d4e5b492bad9358c52b6d331b4e 100644 --- a/netbox/tenancy_tenants_basic_test.go +++ b/netbox/tenancy_tenants_basic_test.go @@ -14,7 +14,7 @@ // GENERATED BY THE COMMAND ABOVE; DO NOT EDIT // This file was generated by robots at -// 2017-05-17 14:19:31.43602063 +0200 CEST +// 2017-05-18 14:20:17.805444662 +0200 CEST package netbox @@ -142,7 +142,7 @@ func TestBasicCreateTenant(t *testing.T) { var tests = []struct { desc string data *Tenant - want *Tenant + want int serverData interface{} status int errstr string @@ -150,7 +150,7 @@ func TestBasicCreateTenant(t *testing.T) { { desc: "Create with ID 0", data: testTenantCreate(1), - want: testTenant(1), + want: 1, status: 0, errstr: "", serverData: testTenant(1), @@ -158,7 +158,7 @@ func TestBasicCreateTenant(t *testing.T) { { desc: "Create duplicate", data: testTenantCreate(1), - want: nil, + want: 0, status: http.StatusBadRequest, errstr: "400 - {\"name\":[\"TenantsService with this name already exists.\"]}\n", serverData: &struct { @@ -194,15 +194,15 @@ func TestBasicUpdateTenant(t *testing.T) { var tests = []struct { desc string data *Tenant - want *Tenant + want int serverData interface{} status int errstr string }{ { - desc: "Create with ID 1", + desc: "Update with ID 1", data: testTenant(1), - want: testTenant(1), + want: 1, serverData: testTenant(1), status: 0, errstr: "", @@ -210,7 +210,7 @@ func TestBasicUpdateTenant(t *testing.T) { { desc: "Update not found", data: testTenant(1), - want: nil, + want: 0, serverData: &struct { Detail string }{ @@ -220,9 +220,9 @@ func TestBasicUpdateTenant(t *testing.T) { errstr: "404 - Not found.", }, { - desc: "Create duplicate", + desc: "Update to duplicate", data: testTenant(1), - want: nil, + want: 0, serverData: &struct { Name []string `json:"name"` }{