From c82f7cc51acda6d8da8bc3600f2b88469a9f75a8 Mon Sep 17 00:00:00 2001 From: Karen Etheridge Date: Wed, 27 Nov 2019 14:44:31 -0800 Subject: [PATCH 1/2] fold hardware_product_profile into hardware_product as in https://github.com/joyent/conch/pull/958 --- fixtures/conch-v3/device.yaml | 12 +-- fixtures/conch-v3/hardware.yaml | 7 +- fixtures/conch-v3/racks.yaml | 10 +- .../request/HardwareProductCreate.yaml | 4 +- fixtures_test.go | 18 ++-- hardware.go | 101 ++++++------------ hardware_integration_test.go | 4 +- hardware_test.go | 6 +- 8 files changed, 59 insertions(+), 103 deletions(-) diff --git a/fixtures/conch-v3/device.yaml b/fixtures/conch-v3/device.yaml index ebfaaee..9075111 100644 --- a/fixtures/conch-v3/device.yaml +++ b/fixtures/conch-v3/device.yaml @@ -189,8 +189,7 @@ interactions: code: 200 duration: "" - request: - body: | - {"alias":"GkMLHVZJMcAgZFOwabCcPMvZW","hardware_product_profile":{"bios_firmware":"qzRdJUfVXtlKKRGwQrWnyoqNM","cpu_num":74,"cpu_type":"zAUpKSWhobfDiRTwcLYbrKNaC","dimms_num":1,"hba_firmware":"yaqAzXUoJQTBAjDIkrwLzQbgC","nics_num":48,"purpose":"xJhyXyrDgDnbhncqUPInfSbgm","ram_total":76,"sas_hdd_slots":"JCRDgMKFJLUOaftcAhbtXojDO","sata_hdd_slots":"uVXqkLHTnwiseAYYYiikqLrfr","sata_ssd_slots":"BPxqvJTRQwibewNJLlNYnFBdl","sas_ssd_slots":"OrtoWNtRXJhlIqSRvFureKlxC","nvme_ssd_slots":"jkHYVDOaMwvfMhcWIfQCpeMUI","usb_num":53,"psu_total":97,"raid_lun_num":77,"sas_hdd_num":26,"sas_hdd_size":71,"sata_hdd_num":5,"sata_hdd_size":96,"sata_ssd_num":57,"sata_ssd_size":85,"sas_ssd_num":14,"sas_ssd_size":94,"nvme_ssd_num":9,"nvme_ssd_size":98},"hardware_vendor_id":"981f43b7-7c1e-4aac-a286-9e78447baa6e","name":"XXSbcvXBmXeoMrAMJtTZjIIFb","rack_unit_size":2,"sku":"WRApshRdUKeSAFbqoFYXlbRzA","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"} + body: '{"alias":"GkMLHVZJMcAgZFOwabCcPMvZW","bios_firmware":"qzRdJUfVXtlKKRGwQrWnyoqNM","cpu_num":74,"cpu_type":"zAUpKSWhobfDiRTwcLYbrKNaC","dimms_num":1,"hba_firmware":"yaqAzXUoJQTBAjDIkrwLzQbgC","nics_num":48,"purpose":"xJhyXyrDgDnbhncqUPInfSbgm","ram_total":76,"sas_hdd_slots":"JCRDgMKFJLUOaftcAhbtXojDO","sata_hdd_slots":"uVXqkLHTnwiseAYYYiikqLrfr","sata_ssd_slots":"BPxqvJTRQwibewNJLlNYnFBdl","sas_ssd_slots":"OrtoWNtRXJhlIqSRvFureKlxC","nvme_ssd_slots":"jkHYVDOaMwvfMhcWIfQCpeMUI","usb_num":53,"psu_total":97,"raid_lun_num":77,"sas_hdd_num":26,"sas_hdd_size":71,"sata_hdd_num":5,"sata_hdd_size":96,"sata_ssd_num":57,"sata_ssd_size":85,"sas_ssd_num":14,"sas_ssd_size":94,"nvme_ssd_num":9,"nvme_ssd_size":98,"hardware_vendor_id":"981f43b7-7c1e-4aac-a286-9e78447baa6e","name":"XXSbcvXBmXeoMrAMJtTZjIIFb","rack_unit_size":2,"sku":"WRApshRdUKeSAFbqoFYXlbRzA","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"}' form: {} headers: Content-Type: @@ -232,7 +231,7 @@ interactions: url: http://10.51.54.42:5000/hardware_product/66ef1b4f-50e4-4632-a7f8-09a8388cb9db method: GET response: - body: '{"alias":"GkMLHVZJMcAgZFOwabCcPMvZW","created":"2019-11-01T21:34:30.641038Z","generation_name":null,"hardware_product_profile":{"bios_firmware":"qzRdJUfVXtlKKRGwQrWnyoqNM","cpu_num":74,"cpu_type":"zAUpKSWhobfDiRTwcLYbrKNaC","dimms_num":1,"hba_firmware":"yaqAzXUoJQTBAjDIkrwLzQbgC","id":"98c4296e-0306-44b8-9b5d-781760d86e91","nics_num":48,"nvme_ssd_num":9,"nvme_ssd_size":98,"nvme_ssd_slots":"jkHYVDOaMwvfMhcWIfQCpeMUI","psu_total":97,"purpose":"xJhyXyrDgDnbhncqUPInfSbgm","raid_lun_num":77,"ram_total":76,"sas_hdd_num":26,"sas_hdd_size":71,"sas_hdd_slots":"JCRDgMKFJLUOaftcAhbtXojDO","sas_ssd_num":14,"sas_ssd_size":94,"sas_ssd_slots":"OrtoWNtRXJhlIqSRvFureKlxC","sata_hdd_num":5,"sata_hdd_size":96,"sata_hdd_slots":"uVXqkLHTnwiseAYYYiikqLrfr","sata_ssd_num":57,"sata_ssd_size":85,"sata_ssd_slots":"BPxqvJTRQwibewNJLlNYnFBdl","usb_num":53},"hardware_vendor_id":"981f43b7-7c1e-4aac-a286-9e78447baa6e","id":"66ef1b4f-50e4-4632-a7f8-09a8388cb9db","legacy_product_name":null,"name":"XXSbcvXBmXeoMrAMJtTZjIIFb","prefix":null,"rack_unit_size":2,"sku":"WRApshRdUKeSAFbqoFYXlbRzA","specification":null,"updated":"2019-11-01T21:34:30.641038Z","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"}' + body: '{"alias":"GkMLHVZJMcAgZFOwabCcPMvZW","created":"2019-11-01T21:34:30.641038Z","generation_name":null,"bios_firmware":"qzRdJUfVXtlKKRGwQrWnyoqNM","cpu_num":74,"cpu_type":"zAUpKSWhobfDiRTwcLYbrKNaC","dimms_num":1,"hba_firmware":"yaqAzXUoJQTBAjDIkrwLzQbgC","id":"98c4296e-0306-44b8-9b5d-781760d86e91","nics_num":48,"nvme_ssd_num":9,"nvme_ssd_size":98,"nvme_ssd_slots":"jkHYVDOaMwvfMhcWIfQCpeMUI","psu_total":97,"purpose":"xJhyXyrDgDnbhncqUPInfSbgm","raid_lun_num":77,"ram_total":76,"sas_hdd_num":26,"sas_hdd_size":71,"sas_hdd_slots":"JCRDgMKFJLUOaftcAhbtXojDO","sas_ssd_num":14,"sas_ssd_size":94,"sas_ssd_slots":"OrtoWNtRXJhlIqSRvFureKlxC","sata_hdd_num":5,"sata_hdd_size":96,"sata_hdd_slots":"uVXqkLHTnwiseAYYYiikqLrfr","sata_ssd_num":57,"sata_ssd_size":85,"sata_ssd_slots":"BPxqvJTRQwibewNJLlNYnFBdl","usb_num":53,"hardware_vendor_id":"981f43b7-7c1e-4aac-a286-9e78447baa6e","id":"66ef1b4f-50e4-4632-a7f8-09a8388cb9db","legacy_product_name":null,"name":"XXSbcvXBmXeoMrAMJtTZjIIFb","prefix":null,"rack_unit_size":2,"sku":"WRApshRdUKeSAFbqoFYXlbRzA","specification":null,"updated":"2019-11-01T21:34:30.641038Z","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"}' headers: Cache-Control: - no-cache @@ -254,8 +253,7 @@ interactions: code: 200 duration: "" - request: - body: | - {"alias":"nUaBwujQrmApnvPxDkYMoMPdq","hardware_product_profile":{"bios_firmware":"qzRdJUfVXtlKKRGwQrWnyoqNM","cpu_num":74,"cpu_type":"zAUpKSWhobfDiRTwcLYbrKNaC","dimms_num":1,"hba_firmware":"yaqAzXUoJQTBAjDIkrwLzQbgC","nics_num":48,"purpose":"xJhyXyrDgDnbhncqUPInfSbgm","ram_total":76,"sas_hdd_slots":"JCRDgMKFJLUOaftcAhbtXojDO","sata_hdd_slots":"uVXqkLHTnwiseAYYYiikqLrfr","sata_ssd_slots":"BPxqvJTRQwibewNJLlNYnFBdl","sas_ssd_slots":"OrtoWNtRXJhlIqSRvFureKlxC","nvme_ssd_slots":"jkHYVDOaMwvfMhcWIfQCpeMUI","usb_num":53,"psu_total":97,"raid_lun_num":77,"sas_hdd_num":26,"sas_hdd_size":71,"sata_hdd_num":5,"sata_hdd_size":96,"sata_ssd_num":57,"sata_ssd_size":85,"sas_ssd_num":14,"sas_ssd_size":94,"nvme_ssd_num":9,"nvme_ssd_size":98},"hardware_vendor_id":"981f43b7-7c1e-4aac-a286-9e78447baa6e","name":"xxaMpARyCMwnUoawRkEGaYhhJ","rack_unit_size":2,"sku":"QlhUQoBrHobheIQIiPdOeqvnL","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"} + body: '{"alias":"nUaBwujQrmApnvPxDkYMoMPdq","bios_firmware":"qzRdJUfVXtlKKRGwQrWnyoqNM","cpu_num":74,"cpu_type":"zAUpKSWhobfDiRTwcLYbrKNaC","dimms_num":1,"hba_firmware":"yaqAzXUoJQTBAjDIkrwLzQbgC","nics_num":48,"purpose":"xJhyXyrDgDnbhncqUPInfSbgm","ram_total":76,"sas_hdd_slots":"JCRDgMKFJLUOaftcAhbtXojDO","sata_hdd_slots":"uVXqkLHTnwiseAYYYiikqLrfr","sata_ssd_slots":"BPxqvJTRQwibewNJLlNYnFBdl","sas_ssd_slots":"OrtoWNtRXJhlIqSRvFureKlxC","nvme_ssd_slots":"jkHYVDOaMwvfMhcWIfQCpeMUI","usb_num":53,"psu_total":97,"raid_lun_num":77,"sas_hdd_num":26,"sas_hdd_size":71,"sata_hdd_num":5,"sata_hdd_size":96,"sata_ssd_num":57,"sata_ssd_size":85,"sas_ssd_num":14,"sas_ssd_size":94,"nvme_ssd_num":9,"nvme_ssd_size":98,"hardware_vendor_id":"981f43b7-7c1e-4aac-a286-9e78447baa6e","name":"xxaMpARyCMwnUoawRkEGaYhhJ","rack_unit_size":2,"sku":"QlhUQoBrHobheIQIiPdOeqvnL","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"}' form: {} headers: Content-Type: @@ -297,7 +295,7 @@ interactions: url: http://10.51.54.42:5000/hardware_product/02b21f4e-2cd0-48a5-ad22-130f4fbb1c4f method: GET response: - body: '{"alias":"nUaBwujQrmApnvPxDkYMoMPdq","created":"2019-11-01T21:34:30.711985Z","generation_name":null,"hardware_product_profile":{"bios_firmware":"qzRdJUfVXtlKKRGwQrWnyoqNM","cpu_num":74,"cpu_type":"zAUpKSWhobfDiRTwcLYbrKNaC","dimms_num":1,"hba_firmware":"yaqAzXUoJQTBAjDIkrwLzQbgC","id":"e0e7e885-7b30-4938-8a12-2b42dc201a42","nics_num":48,"nvme_ssd_num":9,"nvme_ssd_size":98,"nvme_ssd_slots":"jkHYVDOaMwvfMhcWIfQCpeMUI","psu_total":97,"purpose":"xJhyXyrDgDnbhncqUPInfSbgm","raid_lun_num":77,"ram_total":76,"sas_hdd_num":26,"sas_hdd_size":71,"sas_hdd_slots":"JCRDgMKFJLUOaftcAhbtXojDO","sas_ssd_num":14,"sas_ssd_size":94,"sas_ssd_slots":"OrtoWNtRXJhlIqSRvFureKlxC","sata_hdd_num":5,"sata_hdd_size":96,"sata_hdd_slots":"uVXqkLHTnwiseAYYYiikqLrfr","sata_ssd_num":57,"sata_ssd_size":85,"sata_ssd_slots":"BPxqvJTRQwibewNJLlNYnFBdl","usb_num":53},"hardware_vendor_id":"981f43b7-7c1e-4aac-a286-9e78447baa6e","id":"02b21f4e-2cd0-48a5-ad22-130f4fbb1c4f","legacy_product_name":null,"name":"xxaMpARyCMwnUoawRkEGaYhhJ","prefix":null,"rack_unit_size":2,"sku":"QlhUQoBrHobheIQIiPdOeqvnL","specification":null,"updated":"2019-11-01T21:34:30.711985Z","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"}' + body: '{"alias":"nUaBwujQrmApnvPxDkYMoMPdq","created":"2019-11-01T21:34:30.711985Z","generation_name":null,"bios_firmware":"qzRdJUfVXtlKKRGwQrWnyoqNM","cpu_num":74,"cpu_type":"zAUpKSWhobfDiRTwcLYbrKNaC","dimms_num":1,"hba_firmware":"yaqAzXUoJQTBAjDIkrwLzQbgC","id":"e0e7e885-7b30-4938-8a12-2b42dc201a42","nics_num":48,"nvme_ssd_num":9,"nvme_ssd_size":98,"nvme_ssd_slots":"jkHYVDOaMwvfMhcWIfQCpeMUI","psu_total":97,"purpose":"xJhyXyrDgDnbhncqUPInfSbgm","raid_lun_num":77,"ram_total":76,"sas_hdd_num":26,"sas_hdd_size":71,"sas_hdd_slots":"JCRDgMKFJLUOaftcAhbtXojDO","sas_ssd_num":14,"sas_ssd_size":94,"sas_ssd_slots":"OrtoWNtRXJhlIqSRvFureKlxC","sata_hdd_num":5,"sata_hdd_size":96,"sata_hdd_slots":"uVXqkLHTnwiseAYYYiikqLrfr","sata_ssd_num":57,"sata_ssd_size":85,"sata_ssd_slots":"BPxqvJTRQwibewNJLlNYnFBdl","usb_num":53,"hardware_vendor_id":"981f43b7-7c1e-4aac-a286-9e78447baa6e","id":"02b21f4e-2cd0-48a5-ad22-130f4fbb1c4f","legacy_product_name":null,"name":"xxaMpARyCMwnUoawRkEGaYhhJ","prefix":null,"rack_unit_size":2,"sku":"QlhUQoBrHobheIQIiPdOeqvnL","specification":null,"updated":"2019-11-01T21:34:30.711985Z","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"}' headers: Cache-Control: - no-cache @@ -1166,7 +1164,7 @@ interactions: url: http://10.51.54.42:5000/hardware_product/66ef1b4f-50e4-4632-a7f8-09a8388cb9db method: GET response: - body: '{"alias":"GkMLHVZJMcAgZFOwabCcPMvZW","created":"2019-11-01T21:34:30.641038Z","generation_name":null,"hardware_product_profile":{"bios_firmware":"qzRdJUfVXtlKKRGwQrWnyoqNM","cpu_num":74,"cpu_type":"zAUpKSWhobfDiRTwcLYbrKNaC","dimms_num":1,"hba_firmware":"yaqAzXUoJQTBAjDIkrwLzQbgC","id":"98c4296e-0306-44b8-9b5d-781760d86e91","nics_num":48,"nvme_ssd_num":9,"nvme_ssd_size":98,"nvme_ssd_slots":"jkHYVDOaMwvfMhcWIfQCpeMUI","psu_total":97,"purpose":"xJhyXyrDgDnbhncqUPInfSbgm","raid_lun_num":77,"ram_total":76,"sas_hdd_num":26,"sas_hdd_size":71,"sas_hdd_slots":"JCRDgMKFJLUOaftcAhbtXojDO","sas_ssd_num":14,"sas_ssd_size":94,"sas_ssd_slots":"OrtoWNtRXJhlIqSRvFureKlxC","sata_hdd_num":5,"sata_hdd_size":96,"sata_hdd_slots":"uVXqkLHTnwiseAYYYiikqLrfr","sata_ssd_num":57,"sata_ssd_size":85,"sata_ssd_slots":"BPxqvJTRQwibewNJLlNYnFBdl","usb_num":53},"hardware_vendor_id":"981f43b7-7c1e-4aac-a286-9e78447baa6e","id":"66ef1b4f-50e4-4632-a7f8-09a8388cb9db","legacy_product_name":null,"name":"XXSbcvXBmXeoMrAMJtTZjIIFb","prefix":null,"rack_unit_size":2,"sku":"WRApshRdUKeSAFbqoFYXlbRzA","specification":null,"updated":"2019-11-01T21:34:30.641038Z","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"}' + body: '{"alias":"GkMLHVZJMcAgZFOwabCcPMvZW","created":"2019-11-01T21:34:30.641038Z","generation_name":null,"bios_firmware":"qzRdJUfVXtlKKRGwQrWnyoqNM","cpu_num":74,"cpu_type":"zAUpKSWhobfDiRTwcLYbrKNaC","dimms_num":1,"hba_firmware":"yaqAzXUoJQTBAjDIkrwLzQbgC","id":"98c4296e-0306-44b8-9b5d-781760d86e91","nics_num":48,"nvme_ssd_num":9,"nvme_ssd_size":98,"nvme_ssd_slots":"jkHYVDOaMwvfMhcWIfQCpeMUI","psu_total":97,"purpose":"xJhyXyrDgDnbhncqUPInfSbgm","raid_lun_num":77,"ram_total":76,"sas_hdd_num":26,"sas_hdd_size":71,"sas_hdd_slots":"JCRDgMKFJLUOaftcAhbtXojDO","sas_ssd_num":14,"sas_ssd_size":94,"sas_ssd_slots":"OrtoWNtRXJhlIqSRvFureKlxC","sata_hdd_num":5,"sata_hdd_size":96,"sata_hdd_slots":"uVXqkLHTnwiseAYYYiikqLrfr","sata_ssd_num":57,"sata_ssd_size":85,"sata_ssd_slots":"BPxqvJTRQwibewNJLlNYnFBdl","usb_num":53,"hardware_vendor_id":"981f43b7-7c1e-4aac-a286-9e78447baa6e","id":"66ef1b4f-50e4-4632-a7f8-09a8388cb9db","legacy_product_name":null,"name":"XXSbcvXBmXeoMrAMJtTZjIIFb","prefix":null,"rack_unit_size":2,"sku":"WRApshRdUKeSAFbqoFYXlbRzA","specification":null,"updated":"2019-11-01T21:34:30.641038Z","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"}' headers: Cache-Control: - no-cache diff --git a/fixtures/conch-v3/hardware.yaml b/fixtures/conch-v3/hardware.yaml index 7bc3741..2b1f251 100644 --- a/fixtures/conch-v3/hardware.yaml +++ b/fixtures/conch-v3/hardware.yaml @@ -124,8 +124,7 @@ interactions: code: 200 duration: "" - request: - body: | - {"alias":"dzUbBAHNxklInUfunJLjIRrRq","hardware_product_profile":{"bios_firmware":"bzzOOZNkbXYNimiIarOWsyNNi","cpu_num":59,"cpu_type":"lVNmudeLQAvRLumPsexTGlBND","dimms_num":53,"hba_firmware":"fNRBveypwVsVPDmkIBekJYZSq","nics_num":82,"purpose":"HRVaRIIokTvxwakfWIePuUaPr","ram_total":34,"sas_hdd_slots":"cimZtuTOacACRosLnmqchBRqn","sata_hdd_slots":"cBWLviByTSPVcHWDpiSyUyaVq","sata_ssd_slots":"wdNLXFwKravQhWKPweiJoMBJH","sas_ssd_slots":"QjWAbdZWDJzIhlCrAfMfrNHZJ","nvme_ssd_slots":"nRVpcTeFxouGPqDnurOcIKHjG","usb_num":26,"psu_total":67,"raid_lun_num":48,"sas_hdd_num":40,"sas_hdd_size":67,"sata_hdd_num":79,"sata_hdd_size":7,"sata_ssd_num":28,"sata_ssd_size":23,"sas_ssd_num":26,"sas_ssd_size":31,"nvme_ssd_num":20,"nvme_ssd_size":10},"hardware_vendor_id":"ba491d2e-469e-46b8-954c-ecdaedbb4655","name":"WZZeXIwjZQdOFjGweWJnkepoK","rack_unit_size":1,"sku":"wazBOkptktYGYSJqxseDYmlDw","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"} + body: '{"alias":"dzUbBAHNxklInUfunJLjIRrRq","bios_firmware":"bzzOOZNkbXYNimiIarOWsyNNi","cpu_num":59,"cpu_type":"lVNmudeLQAvRLumPsexTGlBND","dimms_num":53,"hba_firmware":"fNRBveypwVsVPDmkIBekJYZSq","nics_num":82,"purpose":"HRVaRIIokTvxwakfWIePuUaPr","ram_total":34,"sas_hdd_slots":"cimZtuTOacACRosLnmqchBRqn","sata_hdd_slots":"cBWLviByTSPVcHWDpiSyUyaVq","sata_ssd_slots":"wdNLXFwKravQhWKPweiJoMBJH","sas_ssd_slots":"QjWAbdZWDJzIhlCrAfMfrNHZJ","nvme_ssd_slots":"nRVpcTeFxouGPqDnurOcIKHjG","usb_num":26,"psu_total":67,"raid_lun_num":48,"sas_hdd_num":40,"sas_hdd_size":67,"sata_hdd_num":79,"sata_hdd_size":7,"sata_ssd_num":28,"sata_ssd_size":23,"sas_ssd_num":26,"sas_ssd_size":31,"nvme_ssd_num":20,"nvme_ssd_size":10,"hardware_vendor_id":"ba491d2e-469e-46b8-954c-ecdaedbb4655","name":"WZZeXIwjZQdOFjGweWJnkepoK","rack_unit_size":1,"sku":"wazBOkptktYGYSJqxseDYmlDw","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"}' form: {} headers: Content-Type: @@ -167,7 +166,7 @@ interactions: url: http://10.51.54.42:5000/hardware_product/837e050e-89b6-4ab9-8352-08ed8dac45b6 method: GET response: - body: '{"alias":"dzUbBAHNxklInUfunJLjIRrRq","created":"2019-11-01T21:34:32.083245Z","generation_name":null,"hardware_product_profile":{"bios_firmware":"bzzOOZNkbXYNimiIarOWsyNNi","cpu_num":59,"cpu_type":"lVNmudeLQAvRLumPsexTGlBND","dimms_num":53,"hba_firmware":"fNRBveypwVsVPDmkIBekJYZSq","id":"3cf626b4-21e3-43b5-a465-cd2f3f25af7a","nics_num":82,"nvme_ssd_num":20,"nvme_ssd_size":10,"nvme_ssd_slots":"nRVpcTeFxouGPqDnurOcIKHjG","psu_total":67,"purpose":"HRVaRIIokTvxwakfWIePuUaPr","raid_lun_num":48,"ram_total":34,"sas_hdd_num":40,"sas_hdd_size":67,"sas_hdd_slots":"cimZtuTOacACRosLnmqchBRqn","sas_ssd_num":26,"sas_ssd_size":31,"sas_ssd_slots":"QjWAbdZWDJzIhlCrAfMfrNHZJ","sata_hdd_num":79,"sata_hdd_size":7,"sata_hdd_slots":"cBWLviByTSPVcHWDpiSyUyaVq","sata_ssd_num":28,"sata_ssd_size":23,"sata_ssd_slots":"wdNLXFwKravQhWKPweiJoMBJH","usb_num":26},"hardware_vendor_id":"ba491d2e-469e-46b8-954c-ecdaedbb4655","id":"837e050e-89b6-4ab9-8352-08ed8dac45b6","legacy_product_name":null,"name":"WZZeXIwjZQdOFjGweWJnkepoK","prefix":null,"rack_unit_size":1,"sku":"wazBOkptktYGYSJqxseDYmlDw","specification":null,"updated":"2019-11-01T21:34:32.083245Z","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"}' + body: '{"alias":"dzUbBAHNxklInUfunJLjIRrRq","created":"2019-11-01T21:34:32.083245Z","generation_name":null,"bios_firmware":"bzzOOZNkbXYNimiIarOWsyNNi","cpu_num":59,"cpu_type":"lVNmudeLQAvRLumPsexTGlBND","dimms_num":53,"hba_firmware":"fNRBveypwVsVPDmkIBekJYZSq","id":"3cf626b4-21e3-43b5-a465-cd2f3f25af7a","nics_num":82,"nvme_ssd_num":20,"nvme_ssd_size":10,"nvme_ssd_slots":"nRVpcTeFxouGPqDnurOcIKHjG","psu_total":67,"purpose":"HRVaRIIokTvxwakfWIePuUaPr","raid_lun_num":48,"ram_total":34,"sas_hdd_num":40,"sas_hdd_size":67,"sas_hdd_slots":"cimZtuTOacACRosLnmqchBRqn","sas_ssd_num":26,"sas_ssd_size":31,"sas_ssd_slots":"QjWAbdZWDJzIhlCrAfMfrNHZJ","sata_hdd_num":79,"sata_hdd_size":7,"sata_hdd_slots":"cBWLviByTSPVcHWDpiSyUyaVq","sata_ssd_num":28,"sata_ssd_size":23,"sata_ssd_slots":"wdNLXFwKravQhWKPweiJoMBJH","usb_num":26,"hardware_vendor_id":"ba491d2e-469e-46b8-954c-ecdaedbb4655","id":"837e050e-89b6-4ab9-8352-08ed8dac45b6","legacy_product_name":null,"name":"WZZeXIwjZQdOFjGweWJnkepoK","prefix":null,"rack_unit_size":1,"sku":"wazBOkptktYGYSJqxseDYmlDw","specification":null,"updated":"2019-11-01T21:34:32.083245Z","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"}' headers: Cache-Control: - no-cache @@ -197,7 +196,7 @@ interactions: url: http://10.51.54.42:5000/hardware_product/name=WZZeXIwjZQdOFjGweWJnkepoK method: GET response: - body: '{"alias":"dzUbBAHNxklInUfunJLjIRrRq","created":"2019-11-01T21:34:32.083245Z","generation_name":null,"hardware_product_profile":{"bios_firmware":"bzzOOZNkbXYNimiIarOWsyNNi","cpu_num":59,"cpu_type":"lVNmudeLQAvRLumPsexTGlBND","dimms_num":53,"hba_firmware":"fNRBveypwVsVPDmkIBekJYZSq","id":"3cf626b4-21e3-43b5-a465-cd2f3f25af7a","nics_num":82,"nvme_ssd_num":20,"nvme_ssd_size":10,"nvme_ssd_slots":"nRVpcTeFxouGPqDnurOcIKHjG","psu_total":67,"purpose":"HRVaRIIokTvxwakfWIePuUaPr","raid_lun_num":48,"ram_total":34,"sas_hdd_num":40,"sas_hdd_size":67,"sas_hdd_slots":"cimZtuTOacACRosLnmqchBRqn","sas_ssd_num":26,"sas_ssd_size":31,"sas_ssd_slots":"QjWAbdZWDJzIhlCrAfMfrNHZJ","sata_hdd_num":79,"sata_hdd_size":7,"sata_hdd_slots":"cBWLviByTSPVcHWDpiSyUyaVq","sata_ssd_num":28,"sata_ssd_size":23,"sata_ssd_slots":"wdNLXFwKravQhWKPweiJoMBJH","usb_num":26},"hardware_vendor_id":"ba491d2e-469e-46b8-954c-ecdaedbb4655","id":"837e050e-89b6-4ab9-8352-08ed8dac45b6","legacy_product_name":null,"name":"WZZeXIwjZQdOFjGweWJnkepoK","prefix":null,"rack_unit_size":1,"sku":"wazBOkptktYGYSJqxseDYmlDw","specification":null,"updated":"2019-11-01T21:34:32.083245Z","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"}' + body: '{"alias":"dzUbBAHNxklInUfunJLjIRrRq","created":"2019-11-01T21:34:32.083245Z","generation_name":null,"bios_firmware":"bzzOOZNkbXYNimiIarOWsyNNi","cpu_num":59,"cpu_type":"lVNmudeLQAvRLumPsexTGlBND","dimms_num":53,"hba_firmware":"fNRBveypwVsVPDmkIBekJYZSq","id":"3cf626b4-21e3-43b5-a465-cd2f3f25af7a","nics_num":82,"nvme_ssd_num":20,"nvme_ssd_size":10,"nvme_ssd_slots":"nRVpcTeFxouGPqDnurOcIKHjG","psu_total":67,"purpose":"HRVaRIIokTvxwakfWIePuUaPr","raid_lun_num":48,"ram_total":34,"sas_hdd_num":40,"sas_hdd_size":67,"sas_hdd_slots":"cimZtuTOacACRosLnmqchBRqn","sas_ssd_num":26,"sas_ssd_size":31,"sas_ssd_slots":"QjWAbdZWDJzIhlCrAfMfrNHZJ","sata_hdd_num":79,"sata_hdd_size":7,"sata_hdd_slots":"cBWLviByTSPVcHWDpiSyUyaVq","sata_ssd_num":28,"sata_ssd_size":23,"sata_ssd_slots":"wdNLXFwKravQhWKPweiJoMBJH","usb_num":26,"hardware_vendor_id":"ba491d2e-469e-46b8-954c-ecdaedbb4655","id":"837e050e-89b6-4ab9-8352-08ed8dac45b6","legacy_product_name":null,"name":"WZZeXIwjZQdOFjGweWJnkepoK","prefix":null,"rack_unit_size":1,"sku":"wazBOkptktYGYSJqxseDYmlDw","specification":null,"updated":"2019-11-01T21:34:32.083245Z","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"}' headers: Cache-Control: - no-cache diff --git a/fixtures/conch-v3/racks.yaml b/fixtures/conch-v3/racks.yaml index 0dfd847..355ad0d 100644 --- a/fixtures/conch-v3/racks.yaml +++ b/fixtures/conch-v3/racks.yaml @@ -315,8 +315,7 @@ interactions: code: 200 duration: "" - request: - body: | - {"alias":"FGhVfsqkxvXonElFfbhrpZXfH","hardware_product_profile":{"bios_firmware":"CVWAjUceMkognYNzEzUbDhean","cpu_num":99,"cpu_type":"zMDuVelOJvOihiaIcYORjbPiH","dimms_num":1,"hba_firmware":"PYvIxUTbIfzJWCmnrjmCdOCjA","nics_num":10,"purpose":"yErjhwIfZDRzwaniguGtGTPbC","ram_total":47,"sas_hdd_slots":"GBviLhJXGBOPmFJDKpLQmzjGK","sata_hdd_slots":"KfboTGOqslayBAxbUXNOuLMWf","sata_ssd_slots":"gNBTHMGTboGhTVDwzuldcTqhS","sas_ssd_slots":"PPNaKDXlxOZukMxgYcBfdqrEW","nvme_ssd_slots":"hFuAmPtQDsRoKRngeETmZdPbc","usb_num":61,"psu_total":26,"raid_lun_num":46,"sas_hdd_num":48,"sas_hdd_size":32,"sata_hdd_num":37,"sata_hdd_size":3,"sata_ssd_num":82,"sata_ssd_size":10,"sas_ssd_num":4,"sas_ssd_size":91,"nvme_ssd_num":80,"nvme_ssd_size":21},"hardware_vendor_id":"1897a833-25d9-4bc3-a318-569c4b00526e","name":"BlmwybtenABaFBkXlCpFYtGUs","rack_unit_size":1,"sku":"fMtSzfsoVMxeEhbnQSrvqyNHV","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"} + body: '{"alias":"FGhVfsqkxvXonElFfbhrpZXfH","bios_firmware":"CVWAjUceMkognYNzEzUbDhean","cpu_num":99,"cpu_type":"zMDuVelOJvOihiaIcYORjbPiH","dimms_num":1,"hba_firmware":"PYvIxUTbIfzJWCmnrjmCdOCjA","nics_num":10,"purpose":"yErjhwIfZDRzwaniguGtGTPbC","ram_total":47,"sas_hdd_slots":"GBviLhJXGBOPmFJDKpLQmzjGK","sata_hdd_slots":"KfboTGOqslayBAxbUXNOuLMWf","sata_ssd_slots":"gNBTHMGTboGhTVDwzuldcTqhS","sas_ssd_slots":"PPNaKDXlxOZukMxgYcBfdqrEW","nvme_ssd_slots":"hFuAmPtQDsRoKRngeETmZdPbc","usb_num":61,"psu_total":26,"raid_lun_num":46,"sas_hdd_num":48,"sas_hdd_size":32,"sata_hdd_num":37,"sata_hdd_size":3,"sata_ssd_num":82,"sata_ssd_size":10,"sas_ssd_num":4,"sas_ssd_size":91,"nvme_ssd_num":80,"nvme_ssd_size":21,"hardware_vendor_id":"1897a833-25d9-4bc3-a318-569c4b00526e","name":"BlmwybtenABaFBkXlCpFYtGUs","rack_unit_size":1,"sku":"fMtSzfsoVMxeEhbnQSrvqyNHV","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"}' form: {} headers: Content-Type: @@ -358,7 +357,7 @@ interactions: url: http://10.51.54.42:5000/hardware_product/319184b0-b7bd-46d9-8d95-0353d0efb49a method: GET response: - body: '{"alias":"FGhVfsqkxvXonElFfbhrpZXfH","created":"2019-11-01T21:34:32.724427Z","generation_name":null,"hardware_product_profile":{"bios_firmware":"CVWAjUceMkognYNzEzUbDhean","cpu_num":99,"cpu_type":"zMDuVelOJvOihiaIcYORjbPiH","dimms_num":1,"hba_firmware":"PYvIxUTbIfzJWCmnrjmCdOCjA","id":"853a2ddc-1e87-4ccc-8d35-5ad7bf5d7924","nics_num":10,"nvme_ssd_num":80,"nvme_ssd_size":21,"nvme_ssd_slots":"hFuAmPtQDsRoKRngeETmZdPbc","psu_total":26,"purpose":"yErjhwIfZDRzwaniguGtGTPbC","raid_lun_num":46,"ram_total":47,"sas_hdd_num":48,"sas_hdd_size":32,"sas_hdd_slots":"GBviLhJXGBOPmFJDKpLQmzjGK","sas_ssd_num":4,"sas_ssd_size":91,"sas_ssd_slots":"PPNaKDXlxOZukMxgYcBfdqrEW","sata_hdd_num":37,"sata_hdd_size":3,"sata_hdd_slots":"KfboTGOqslayBAxbUXNOuLMWf","sata_ssd_num":82,"sata_ssd_size":10,"sata_ssd_slots":"gNBTHMGTboGhTVDwzuldcTqhS","usb_num":61},"hardware_vendor_id":"1897a833-25d9-4bc3-a318-569c4b00526e","id":"319184b0-b7bd-46d9-8d95-0353d0efb49a","legacy_product_name":null,"name":"BlmwybtenABaFBkXlCpFYtGUs","prefix":null,"rack_unit_size":1,"sku":"fMtSzfsoVMxeEhbnQSrvqyNHV","specification":null,"updated":"2019-11-01T21:34:32.724427Z","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"}' + body: '{"alias":"FGhVfsqkxvXonElFfbhrpZXfH","created":"2019-11-01T21:34:32.724427Z","generation_name":null,"bios_firmware":"CVWAjUceMkognYNzEzUbDhean","cpu_num":99,"cpu_type":"zMDuVelOJvOihiaIcYORjbPiH","dimms_num":1,"hba_firmware":"PYvIxUTbIfzJWCmnrjmCdOCjA","id":"853a2ddc-1e87-4ccc-8d35-5ad7bf5d7924","nics_num":10,"nvme_ssd_num":80,"nvme_ssd_size":21,"nvme_ssd_slots":"hFuAmPtQDsRoKRngeETmZdPbc","psu_total":26,"purpose":"yErjhwIfZDRzwaniguGtGTPbC","raid_lun_num":46,"ram_total":47,"sas_hdd_num":48,"sas_hdd_size":32,"sas_hdd_slots":"GBviLhJXGBOPmFJDKpLQmzjGK","sas_ssd_num":4,"sas_ssd_size":91,"sas_ssd_slots":"PPNaKDXlxOZukMxgYcBfdqrEW","sata_hdd_num":37,"sata_hdd_size":3,"sata_hdd_slots":"KfboTGOqslayBAxbUXNOuLMWf","sata_ssd_num":82,"sata_ssd_size":10,"sata_ssd_slots":"gNBTHMGTboGhTVDwzuldcTqhS","usb_num":61,"hardware_vendor_id":"1897a833-25d9-4bc3-a318-569c4b00526e","id":"319184b0-b7bd-46d9-8d95-0353d0efb49a","legacy_product_name":null,"name":"BlmwybtenABaFBkXlCpFYtGUs","prefix":null,"rack_unit_size":1,"sku":"fMtSzfsoVMxeEhbnQSrvqyNHV","specification":null,"updated":"2019-11-01T21:34:32.724427Z","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"}' headers: Cache-Control: - no-cache @@ -380,8 +379,7 @@ interactions: code: 200 duration: "" - request: - body: | - {"alias":"qVaylYOaUpOtGiLCZUpZpzlXe","hardware_product_profile":{"bios_firmware":"CVWAjUceMkognYNzEzUbDhean","cpu_num":99,"cpu_type":"zMDuVelOJvOihiaIcYORjbPiH","dimms_num":1,"hba_firmware":"PYvIxUTbIfzJWCmnrjmCdOCjA","nics_num":10,"purpose":"yErjhwIfZDRzwaniguGtGTPbC","ram_total":47,"sas_hdd_slots":"GBviLhJXGBOPmFJDKpLQmzjGK","sata_hdd_slots":"KfboTGOqslayBAxbUXNOuLMWf","sata_ssd_slots":"gNBTHMGTboGhTVDwzuldcTqhS","sas_ssd_slots":"PPNaKDXlxOZukMxgYcBfdqrEW","nvme_ssd_slots":"hFuAmPtQDsRoKRngeETmZdPbc","usb_num":61,"psu_total":26,"raid_lun_num":46,"sas_hdd_num":48,"sas_hdd_size":32,"sata_hdd_num":37,"sata_hdd_size":3,"sata_ssd_num":82,"sata_ssd_size":10,"sas_ssd_num":4,"sas_ssd_size":91,"nvme_ssd_num":80,"nvme_ssd_size":21},"hardware_vendor_id":"1897a833-25d9-4bc3-a318-569c4b00526e","name":"aqHGzzNnINqxJdMheBiYaKvey","rack_unit_size":2,"sku":"vhkRnOpPrQHGClfQHHYUCvRUT","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"} + body: '{"alias":"qVaylYOaUpOtGiLCZUpZpzlXe","bios_firmware":"CVWAjUceMkognYNzEzUbDhean","cpu_num":99,"cpu_type":"zMDuVelOJvOihiaIcYORjbPiH","dimms_num":1,"hba_firmware":"PYvIxUTbIfzJWCmnrjmCdOCjA","nics_num":10,"purpose":"yErjhwIfZDRzwaniguGtGTPbC","ram_total":47,"sas_hdd_slots":"GBviLhJXGBOPmFJDKpLQmzjGK","sata_hdd_slots":"KfboTGOqslayBAxbUXNOuLMWf","sata_ssd_slots":"gNBTHMGTboGhTVDwzuldcTqhS","sas_ssd_slots":"PPNaKDXlxOZukMxgYcBfdqrEW","nvme_ssd_slots":"hFuAmPtQDsRoKRngeETmZdPbc","usb_num":61,"psu_total":26,"raid_lun_num":46,"sas_hdd_num":48,"sas_hdd_size":32,"sata_hdd_num":37,"sata_hdd_size":3,"sata_ssd_num":82,"sata_ssd_size":10,"sas_ssd_num":4,"sas_ssd_size":91,"nvme_ssd_num":80,"nvme_ssd_size":21,"hardware_vendor_id":"1897a833-25d9-4bc3-a318-569c4b00526e","name":"aqHGzzNnINqxJdMheBiYaKvey","rack_unit_size":2,"sku":"vhkRnOpPrQHGClfQHHYUCvRUT","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"}' form: {} headers: Content-Type: @@ -423,7 +421,7 @@ interactions: url: http://10.51.54.42:5000/hardware_product/dfbfe5ae-634e-4aff-bd69-c3b4f8437197 method: GET response: - body: '{"alias":"qVaylYOaUpOtGiLCZUpZpzlXe","created":"2019-11-01T21:34:32.796086Z","generation_name":null,"hardware_product_profile":{"bios_firmware":"CVWAjUceMkognYNzEzUbDhean","cpu_num":99,"cpu_type":"zMDuVelOJvOihiaIcYORjbPiH","dimms_num":1,"hba_firmware":"PYvIxUTbIfzJWCmnrjmCdOCjA","id":"45bb0654-246c-472d-99c4-7a2acc989873","nics_num":10,"nvme_ssd_num":80,"nvme_ssd_size":21,"nvme_ssd_slots":"hFuAmPtQDsRoKRngeETmZdPbc","psu_total":26,"purpose":"yErjhwIfZDRzwaniguGtGTPbC","raid_lun_num":46,"ram_total":47,"sas_hdd_num":48,"sas_hdd_size":32,"sas_hdd_slots":"GBviLhJXGBOPmFJDKpLQmzjGK","sas_ssd_num":4,"sas_ssd_size":91,"sas_ssd_slots":"PPNaKDXlxOZukMxgYcBfdqrEW","sata_hdd_num":37,"sata_hdd_size":3,"sata_hdd_slots":"KfboTGOqslayBAxbUXNOuLMWf","sata_ssd_num":82,"sata_ssd_size":10,"sata_ssd_slots":"gNBTHMGTboGhTVDwzuldcTqhS","usb_num":61},"hardware_vendor_id":"1897a833-25d9-4bc3-a318-569c4b00526e","id":"dfbfe5ae-634e-4aff-bd69-c3b4f8437197","legacy_product_name":null,"name":"aqHGzzNnINqxJdMheBiYaKvey","prefix":null,"rack_unit_size":2,"sku":"vhkRnOpPrQHGClfQHHYUCvRUT","specification":null,"updated":"2019-11-01T21:34:32.796086Z","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"}' + body: '{"alias":"qVaylYOaUpOtGiLCZUpZpzlXe","created":"2019-11-01T21:34:32.796086Z","generation_name":null,"bios_firmware":"CVWAjUceMkognYNzEzUbDhean","cpu_num":99,"cpu_type":"zMDuVelOJvOihiaIcYORjbPiH","dimms_num":1,"hba_firmware":"PYvIxUTbIfzJWCmnrjmCdOCjA","id":"45bb0654-246c-472d-99c4-7a2acc989873","nics_num":10,"nvme_ssd_num":80,"nvme_ssd_size":21,"nvme_ssd_slots":"hFuAmPtQDsRoKRngeETmZdPbc","psu_total":26,"purpose":"yErjhwIfZDRzwaniguGtGTPbC","raid_lun_num":46,"ram_total":47,"sas_hdd_num":48,"sas_hdd_size":32,"sas_hdd_slots":"GBviLhJXGBOPmFJDKpLQmzjGK","sas_ssd_num":4,"sas_ssd_size":91,"sas_ssd_slots":"PPNaKDXlxOZukMxgYcBfdqrEW","sata_hdd_num":37,"sata_hdd_size":3,"sata_hdd_slots":"KfboTGOqslayBAxbUXNOuLMWf","sata_ssd_num":82,"sata_ssd_size":10,"sata_ssd_slots":"gNBTHMGTboGhTVDwzuldcTqhS","usb_num":61,"hardware_vendor_id":"1897a833-25d9-4bc3-a318-569c4b00526e","id":"dfbfe5ae-634e-4aff-bd69-c3b4f8437197","legacy_product_name":null,"name":"aqHGzzNnINqxJdMheBiYaKvey","prefix":null,"rack_unit_size":2,"sku":"vhkRnOpPrQHGClfQHHYUCvRUT","specification":null,"updated":"2019-11-01T21:34:32.796086Z","validation_plan_id":"a30ab8b2-8a9e-4e51-8bb0-92862abd8b54"}' headers: Cache-Control: - no-cache diff --git a/fixtures/json-schema/request/HardwareProductCreate.yaml b/fixtures/json-schema/request/HardwareProductCreate.yaml index 8cd0163..352f300 100644 --- a/fixtures/json-schema/request/HardwareProductCreate.yaml +++ b/fixtures/json-schema/request/HardwareProductCreate.yaml @@ -10,9 +10,7 @@ interactions: url: http://10.51.54.42:5000/schema/request/HardwareProductCreate method: GET response: - body: '{"$id":"urn:request.HardwareProductCreate.schema.json","$schema":"http:\/\/json-schema.org\/draft-07\/schema#","allOf":[{"$ref":"\/definitions\/HardwareProductUpdate"},{"properties":{},"required":["name","alias","hardware_vendor_id","sku","rack_unit_size","validation_plan_id"]},{"properties":{"hardware_product_profile":{"$ref":"\/definitions\/HardwareProductProfileCreate"}},"type":"object"}],"definitions":{"HardwareProductProfileCreate":{"allOf":[{"$ref":"\/definitions\/HardwareProductProfileUpdate"},{"properties":{},"required":["purpose","bios_firmware","cpu_num","cpu_type","dimms_num","ram_total","nics_num","usb_num"]}]},"HardwareProductProfileUpdate":{"additionalProperties":false,"minProperties":1,"properties":{"bios_firmware":{"type":"string"},"cpu_num":{"type":"integer"},"cpu_type":{"type":"string"},"dimms_num":{"type":"integer"},"hba_firmware":{"oneOf":[{"type":"string"},{"type":"null"}]},"nics_num":{"type":"integer"},"nvme_ssd_num":{"oneOf":[{"type":"integer"},{"type":"null"}]},"nvme_ssd_size":{"oneOf":[{"type":"integer"},{"type":"null"}]},"nvme_ssd_slots":{"oneOf":[{"type":"string"},{"type":"null"}]},"psu_total":{"oneOf":[{"type":"integer"},{"type":"null"}]},"purpose":{"type":"string"},"raid_lun_num":{"oneOf":[{"type":"integer"},{"type":"null"}]},"ram_total":{"type":"integer"},"sas_hdd_num":{"oneOf":[{"type":"integer"},{"type":"null"}]},"sas_hdd_size":{"oneOf":[{"type":"integer"},{"type":"null"}]},"sas_hdd_slots":{"oneOf":[{"type":"string"},{"type":"null"}]},"sas_ssd_num":{"oneOf":[{"type":"integer"},{"type":"null"}]},"sas_ssd_size":{"oneOf":[{"type":"integer"},{"type":"null"}]},"sas_ssd_slots":{"oneOf":[{"type":"string"},{"type":"null"}]},"sata_hdd_num":{"oneOf":[{"type":"integer"},{"type":"null"}]},"sata_hdd_size":{"oneOf":[{"type":"integer"},{"type":"null"}]},"sata_hdd_slots":{"oneOf":[{"type":"string"},{"type":"null"}]},"sata_ssd_num":{"oneOf":[{"type":"integer"},{"type":"null"}]},"sata_ssd_size":{"oneOf":[{"type":"integer"},{"type":"null"}]},"sata_ssd_slots":{"oneOf":[{"type":"string"},{"type":"null"}]},"usb_num":{"type":"integer"}},"type":"object"},"HardwareProductUpdate":{"additionalProperties":false,"minProperties":1,"properties":{"alias":{"$ref":"\/definitions\/mojo_standard_placeholder"},"generation_name":{"$ref":"\/definitions\/non_empty_string"},"hardware_product_profile":{"$ref":"\/definitions\/HardwareProductProfileUpdate"},"hardware_vendor_id":{"$ref":"\/definitions\/uuid"},"legacy_product_name":{"oneOf":[{"$ref":"\/definitions\/non_empty_string"},{"type":"null"}]},"name":{"$ref":"\/definitions\/mojo_standard_placeholder"},"prefix":{"oneOf":[{"$ref":"\/definitions\/non_empty_string"},{"type":"null"}]},"rack_unit_size":{"$ref":"\/definitions\/positive_integer"},"sku":{"$ref":"\/definitions\/mojo_standard_placeholder"},"specification":{"description":"json - blob of additional data","oneOf":[{"type":"string"},{"type":"null"}]},"validation_plan_id":{"$ref":"\/definitions\/uuid"}},"type":"object"},"mojo_standard_placeholder":{"description":"see - https:\/\/metacpan.org\/pod\/Mojolicious::Guides::Routing#Standard-placeholders","pattern":"^[^\/.]+$","type":"string"},"non_empty_string":{"minLength":1,"type":"string"},"positive_integer":{"minimum":1,"type":"integer"},"uuid":{"pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","type":"string"}},"title":"HardwareProductCreate"}' + body: '{"$id":"urn:request.HardwareProductCreate.schema.json","$schema":"http:\/\/json-schema.org\/draft-07\/schema#","allOf":[{"$ref":"\/definitions\/HardwareProductUpdate"},{"required":["name","alias","hardware_vendor_id","sku","rack_unit_size","validation_plan_id","purpose","bios_firmware","cpu_type"]}],"definitions":{"HardwareProductUpdate":{"additionalProperties":false,"minProperties":1,"properties":{"alias":{"$ref":"\/definitions\/mojo_standard_placeholder"},"bios_firmware":{"type":"string"},"cpu_num":{"type":"integer"},"cpu_type":{"type":"string"},"dimms_num":{"type":"integer"},"generation_name":{"$ref":"\/definitions\/non_empty_string"},"hardware_vendor_id":{"$ref":"\/definitions\/uuid"},"hba_firmware":{"oneOf":[{"type":"string"},{"type":"null"}]},"legacy_product_name":{"oneOf":[{"$ref":"\/definitions\/non_empty_string"},{"type":"null"}]},"name":{"$ref":"\/definitions\/mojo_standard_placeholder"},"nics_num":{"type":"integer"},"nvme_ssd_num":{"type":"integer"},"nvme_ssd_size":{"oneOf":[{"type":"integer"},{"type":"null"}]},"nvme_ssd_slots":{"oneOf":[{"type":"string"},{"type":"null"}]},"prefix":{"oneOf":[{"$ref":"\/definitions\/non_empty_string"},{"type":"null"}]},"psu_total":{"type":"integer"},"purpose":{"type":"string"},"rack_unit_size":{"$ref":"\/definitions\/positive_integer"},"raid_lun_num":{"type":"integer"},"ram_total":{"type":"integer"},"sas_hdd_num":{"type":"integer"},"sas_hdd_size":{"oneOf":[{"type":"integer"},{"type":"null"}]},"sas_hdd_slots":{"oneOf":[{"type":"string"},{"type":"null"}]},"sas_ssd_num":{"type":"integer"},"sas_ssd_size":{"oneOf":[{"type":"integer"},{"type":"null"}]},"sas_ssd_slots":{"oneOf":[{"type":"string"},{"type":"null"}]},"sata_hdd_num":{"type":"integer"},"sata_hdd_size":{"oneOf":[{"type":"integer"},{"type":"null"}]},"sata_hdd_slots":{"oneOf":[{"type":"string"},{"type":"null"}]},"sata_ssd_num":{"type":"integer"},"sata_ssd_size":{"oneOf":[{"type":"integer"},{"type":"null"}]},"sata_ssd_slots":{"oneOf":[{"type":"string"},{"type":"null"}]},"sku":{"$ref":"\/definitions\/mojo_standard_placeholder"},"specification":{"description":"json blob of additional data","oneOf":[{"type":"string"},{"type":"null"}]},"usb_num":{"type":"integer"},"validation_plan_id":{"$ref":"\/definitions\/uuid"}},"type":"object"},"mojo_standard_placeholder":{"description":"see https:\/\/metacpan.org\/pod\/Mojolicious::Guides::Routing#Standard-placeholders","pattern":"^[^\/.]+$","type":"string"},"non_empty_string":{"minLength":1,"type":"string"},"positive_integer":{"minimum":1,"type":"integer"},"uuid":{"pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","type":"string"}},"title":"HardwareProductCreate"}' headers: Content-Length: - "3369" diff --git a/fixtures_test.go b/fixtures_test.go index e9874c1..997bd62 100644 --- a/fixtures_test.go +++ b/fixtures_test.go @@ -106,7 +106,6 @@ func (f *Fixture) setupHardwareProducts() *Fixture { f.setupHardwareVendor() f.setupValidationPlan() - mhpp := newTestHardwareProductProfile() mswp := newTestHardwareProduct() f.switchProduct = API.Hardware().Create( mswp.Name, @@ -115,7 +114,9 @@ func (f *Fixture) setupHardwareProducts() *Fixture { mswp.SKU, mswp.RackUnitSize, f.validationPlan.ID, - mhpp, + mswp.Purpose, + mswp.BiosFirmware, + mswp.CpuType, ) msvp := newTestHardwareProduct() @@ -126,7 +127,9 @@ func (f *Fixture) setupHardwareProducts() *Fixture { msvp.SKU, msvp.RackUnitSize, f.validationPlan.ID, - mhpp, + msvp.Purpose, + msvp.BiosFirmware, + msvp.CpuType, ) return f.addReset(func() { @@ -379,12 +382,3 @@ func newTestDevice() (d deviceCore) { } return } - -func newTestHardwareProductProfile() (hpp HardwareProductProfileUpdate) { - err := faker.FakeData(&hpp) - if err != nil { - panic(err) - } - return - -} diff --git a/hardware.go b/hardware.go index 9fdb509..4d60412 100644 --- a/hardware.go +++ b/hardware.go @@ -32,22 +32,33 @@ func (c *Conch) Hardware() *Hardware { return &Hardware{c} } -type HardwareProductProfile struct { - ID uuid.UUID `json:"id" faker:"uuid"` - BiosFirmware string `json:"bios_firmware"` - CpuNum int `json:"cpu_num"` - CpuType string `json:"cpu_type"` - DimmsNum int `json:"dimms_num"` - HbaFirmware string `json:"hba_firmware,omitempty"` - NicsNum int `json:"nics_num"` - Purpose string `json:"purpose"` - RamTotal int `json:"ram_total"` - SasHddSlots string `json:"sas_hdd_slots,omitempty"` - SataHddSlots string `json:"sata_hdd_slots,omitempty"` - SataSsdSlots string `json:"sata_ssd_slots,omitempty"` - SasSsdSlots string `json:"sas_ssd_slots,omitempty"` - NvmeSsdSlots string `json:"nvme_ssd_slots,omitempty"` - UsbNum int `json:"usb_num"` +type HardwareProducts []HardwareProduct +type HardwareProduct struct { + ID uuid.UUID `json:"id" faker:"uuid"` + Name string `json:"name"` + Alias string `json:"alias"` + Prefix string `json:"prefix,omitempty"` + HardwareVendorID uuid.UUID `json:"hardware_vendor_id" faker:"uuid"` + GenerationName string `json:"generation_name,omitempty"` + LegacyProductName string `json:"legacy_product_name,omitempty"` + SKU string `json:"sku,omitempty"` + Specification string `json:"specification,omitempty"` + RackUnitSize int `json:"rack_unit_size" faker:"rack_unit_size"` + + BiosFirmware string `json:"bios_firmware"` + CpuNum int `json:"cpu_num"` + CpuType string `json:"cpu_type"` + DimmsNum int `json:"dimms_num"` + HbaFirmware string `json:"hba_firmware,omitempty"` + NicsNum int `json:"nics_num"` + Purpose string `json:"purpose"` + RamTotal int `json:"ram_total"` + SasHddSlots string `json:"sas_hdd_slots,omitempty"` + SataHddSlots string `json:"sata_hdd_slots,omitempty"` + SataSsdSlots string `json:"sata_ssd_slots,omitempty"` + SasSsdSlots string `json:"sas_ssd_slots,omitempty"` + NvmeSsdSlots string `json:"nvme_ssd_slots,omitempty"` + UsbNum int `json:"usb_num"` // NOTE the pointers. 0 is a valid value so zero values aren't PsuTotal *int `json:"psu_total,omitempty"` @@ -67,21 +78,7 @@ type HardwareProductProfile struct { NvmeSsdNum *int `json:"nvme_ssd_num,omitempty"` NvmeSsdSize *int `json:"nvme_ssd_size,omitempty"` -} -type HardwareProducts []HardwareProduct -type HardwareProduct struct { - ID uuid.UUID `json:"id" faker:"uuid"` - Name string `json:"name"` - Alias string `json:"alias"` - Prefix string `json:"prefix,omitempty"` - HardwareVendorID uuid.UUID `json:"hardware_vendor_id" faker:"uuid"` - GenerationName string `json:"generation_name,omitempty"` - LegacyProductName string `json:"legacy_product_name,omitempty"` - SKU string `json:"sku,omitempty"` - Specification string `json:"specification,omitempty"` - RackUnitSize int `json:"rack_unit_size" faker:"rack_unit_size"` - HardwareProductProfile HardwareProductProfile `json:"hardware_product_profile,omitempty"` Created time.Time `json:"created" faker:"-"` Updated time.Time `json:"updated" faker:"-"` ValidationPlanID uuid.UUID `json:"validation_plan_id,omitempty" faker:"-"` @@ -127,49 +124,15 @@ func (h *Hardware) GetProductBySku(sku string) (hp HardwareProduct) { return hp } -type HardwareProductProfileUpdate struct { - BiosFirmware string `json:"bios_firmware"` - CpuNum int `json:"cpu_num"` - CpuType string `json:"cpu_type"` - DimmsNum int `json:"dimms_num"` - HbaFirmware string `json:"hba_firmware,omitempty"` - NicsNum int `json:"nics_num"` - Purpose string `json:"purpose"` - RamTotal int `json:"ram_total"` - SasHddSlots string `json:"sas_hdd_slots,omitempty"` - SataHddSlots string `json:"sata_hdd_slots,omitempty"` - SataSsdSlots string `json:"sata_ssd_slots,omitempty"` - SasSsdSlots string `json:"sas_ssd_slots,omitempty"` - NvmeSsdSlots string `json:"nvme_ssd_slots,omitempty"` - UsbNum int `json:"usb_num"` - - // NOTE the pointers. 0 is a valid value so zero values aren't - PsuTotal *int `json:"psu_total,omitempty"` - RaidLunNum *int `json:"raid_lun_num,omitempty"` - - SasHddNum *int `json:"sas_hdd_num,omitempty"` - SasHddSize *int `json:"sas_hdd_size,omitempty"` - - SataHddNum *int `json:"sata_hdd_num,omitempty"` - SataHddSize *int `json:"sata_hdd_size,omitempty"` - - SataSsdNum *int `json:"sata_ssd_num,omitempty"` - SataSsdSize *int `json:"sata_ssd_size,omitempty"` - - SasSsdNum *int `json:"sas_ssd_num,omitempty"` - SasSsdSize *int `json:"sas_ssd_size,omitempty"` - - NvmeSsdNum *int `json:"nvme_ssd_num,omitempty"` - NvmeSsdSize *int `json:"nvme_ssd_size,omitempty"` -} - func (h *Hardware) Create( name, alias string, vendorID uuid.UUID, SKU string, rackUnitSize int, validationPlanID uuid.UUID, - hardwareProductProfile HardwareProductProfileUpdate, + Purpose string, + BiosFirmware string, + CpuType string, ) (hp HardwareProduct) { payload := make(map[string]interface{}) payload["name"] = name @@ -178,7 +141,9 @@ func (h *Hardware) Create( payload["sku"] = SKU payload["rack_unit_size"] = rackUnitSize payload["validation_plan_id"] = validationPlanID - payload["hardware_product_profile"] = hardwareProductProfile + payload["purpose"] = Purpose + payload["bios_firmware"] = BiosFirmware + payload["cpu_type"] = CpuType res := h.Do(h.Sling().New().Post("/hardware_product"). Set("Content-Type", "application/json"). diff --git a/hardware_integration_test.go b/hardware_integration_test.go index 0794068..8fb3228 100644 --- a/hardware_integration_test.go +++ b/hardware_integration_test.go @@ -32,7 +32,9 @@ func TestHarwareProductAPIIntegration(t *testing.T) { mock.SKU, mock.RackUnitSize, f.validationPlan.ID, - newTestHardwareProductProfile(), + mock.Purpose, + mock.BiosFirmware, + mock.CpuType, ) }) diff --git a/hardware_test.go b/hardware_test.go index a5a98b1..2a5c9f7 100644 --- a/hardware_test.go +++ b/hardware_test.go @@ -34,8 +34,10 @@ func TestHardwareProductCreate(t *testing.T) { mock.HardwareVendorID, mock.SKU, mock.RackUnitSize+1, - mock.ID, - newTestHardwareProductProfile(), + mock.ValidationPlanID, + mock.Purpose, + mock.BiosFirmware, + mock.CpuType, ) assertRequestCount(t, spy.requestCount, 1) From 0644b31e7d9d05e10fd7143a59b27e87e4bcca30 Mon Sep 17 00:00:00 2001 From: Karen Etheridge Date: Wed, 27 Nov 2019 17:50:54 -0800 Subject: [PATCH 2/2] sku is no longer nullable --- hardware.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hardware.go b/hardware.go index 4d60412..02a21f2 100644 --- a/hardware.go +++ b/hardware.go @@ -41,7 +41,7 @@ type HardwareProduct struct { HardwareVendorID uuid.UUID `json:"hardware_vendor_id" faker:"uuid"` GenerationName string `json:"generation_name,omitempty"` LegacyProductName string `json:"legacy_product_name,omitempty"` - SKU string `json:"sku,omitempty"` + SKU string `json:"sku"` Specification string `json:"specification,omitempty"` RackUnitSize int `json:"rack_unit_size" faker:"rack_unit_size"`