class TestNsPlacementDataFactory(TestCase):
- vim_accounts = [{"vim_password": "FxtnynxBCnouzAT4Hkerhg==", "config": {},
- "_admin": {"modified": 1564579854.0480285, "created": 1564579854.0480285,
- "operationalState": "ENABLED",
- "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "deployed": {"RO-account": "6beb4e2e-b397-11e9-a7a3-02420aff0008",
- "RO": "6bcfc3fc-b397-11e9-a7a3-02420aff0008"},
- "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"], "detailed-status": "Done"},
- "name": "OpenStack1", "vim_type": "openstack", "_id": "92b056a7-38f5-438d-b8ee-3f93b3531f87",
- "schema_version": "1.1", "vim_user": "admin", "vim_url": "http://10.234.12.47:5000/v3",
- "vim_tenant_name": "admin"},
- {"config": {}, "vim_tenant_name": "osm_demo", "schema_version": "1.1", "name": "OpenStack2",
- "vim_password": "gK5v4Gh2Pl41o6Skwp6RCw==", "vim_type": "openstack",
- "_admin": {"modified": 1567148372.2490237, "created": 1567148372.2490237,
- "operationalState": "ENABLED",
- "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "deployed": {"RO-account": "b7fb0034-caf3-11e9-9388-02420aff000a",
- "RO": "b7f129ce-caf3-11e9-9388-02420aff000a"},
- "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"], "detailed-status": "Done"},
- "vim_user": "admin", "vim_url": "http://10.234.12.44:5000/v3",
- "_id": "6618d412-d7fc-4eb0-a6f8-d2c258e0e900"},
- {"config": {}, "schema_version": "1.1", "name": "OpenStack3",
- "vim_password": "1R2FoMQnaL6rNSosoRP2hw==", "vim_type": "openstack", "vim_tenant_name": "osm_demo",
- "_admin": {"modified": 1567599746.689582, "created": 1567599746.689582,
- "operationalState": "ENABLED",
- "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "deployed": {"RO-account": "a8161f54-cf0e-11e9-9388-02420aff000a",
- "RO": "a80b6280-cf0e-11e9-9388-02420aff000a"},
- "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"], "detailed-status": "Done"},
- "vim_user": "admin", "vim_url": "http://10.234.12.46:5000/v3",
- "_id": "331ffdec-44a8-4707-94a1-af7a292d9735"},
- {"config": {}, "schema_version": "1.1", "name": "OpenStack4",
- "vim_password": "6LScyPeMq3QFh3GRb/xwZw==", "vim_type": "openstack", "vim_tenant_name": "osm_demo",
- "_admin": {"modified": 1567599911.5108898, "created": 1567599911.5108898,
- "operationalState": "ENABLED",
- "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "deployed": {"RO-account": "0a651200-cf0f-11e9-9388-02420aff000a",
- "RO": "0a4defc6-cf0f-11e9-9388-02420aff000a"},
- "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"], "detailed-status": "Done"},
- "vim_user": "admin", "vim_url": "http://10.234.12.43:5000/v3",
- "_id": "eda92f47-29b9-4007-9709-c1833dbfbe31"}]
-
- vim_accounts_fewer_vims = [{"vim_password": "FxtnynxBCnouzAT4Hkerhg==", "config": {},
- "_admin": {"modified": 1564579854.0480285, "created": 1564579854.0480285,
- "operationalState": "ENABLED",
- "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "deployed": {"RO-account": "6beb4e2e-b397-11e9-a7a3-02420aff0008",
- "RO": "6bcfc3fc-b397-11e9-a7a3-02420aff0008"},
- "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "detailed-status": "Done"},
- "name": "OpenStack1", "vim_type": "openstack",
- "_id": "92b056a7-38f5-438d-b8ee-3f93b3531f87",
- "schema_version": "1.1", "vim_user": "admin", "vim_url": "http://10.234.12.47:5000/v3",
- "vim_tenant_name": "admin"},
- {"config": {}, "vim_tenant_name": "osm_demo", "schema_version": "1.1",
- "name": "OpenStack2",
- "vim_password": "gK5v4Gh2Pl41o6Skwp6RCw==", "vim_type": "openstack",
- "_admin": {"modified": 1567148372.2490237, "created": 1567148372.2490237,
- "operationalState": "ENABLED",
- "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "deployed": {"RO-account": "b7fb0034-caf3-11e9-9388-02420aff000a",
- "RO": "b7f129ce-caf3-11e9-9388-02420aff000a"},
- "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "detailed-status": "Done"},
- "vim_user": "admin", "vim_url": "http://10.234.12.44:5000/v3",
- "_id": "6618d412-d7fc-4eb0-a6f8-d2c258e0e900"},
- {"config": {}, "schema_version": "1.1", "name": "OpenStack4",
- "vim_password": "6LScyPeMq3QFh3GRb/xwZw==", "vim_type": "openstack",
- "vim_tenant_name": "osm_demo",
- "_admin": {"modified": 1567599911.5108898, "created": 1567599911.5108898,
- "operationalState": "ENABLED",
- "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "deployed": {"RO-account": "0a651200-cf0f-11e9-9388-02420aff000a",
- "RO": "0a4defc6-cf0f-11e9-9388-02420aff000a"},
- "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "detailed-status": "Done"},
- "vim_user": "admin", "vim_url": "http://10.234.12.43:5000/v3",
- "_id": "eda92f47-29b9-4007-9709-c1833dbfbe31"}]
-
- vim_accounts_more_vims = [{"vim_password": "FxtnynxBCnouzAT4Hkerhg==", "config": {},
- "_admin": {"modified": 1564579854.0480285, "created": 1564579854.0480285,
- "operationalState": "ENABLED",
- "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "deployed": {"RO-account": "6beb4e2e-b397-11e9-a7a3-02420aff0008",
- "RO": "6bcfc3fc-b397-11e9-a7a3-02420aff0008"},
- "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "detailed-status": "Done"},
- "name": "OpenStack1", "vim_type": "openstack",
- "_id": "92b056a7-38f5-438d-b8ee-3f93b3531f87",
- "schema_version": "1.1", "vim_user": "admin", "vim_url": "http://10.234.12.47:5000/v3",
- "vim_tenant_name": "admin"},
- {"config": {}, "vim_tenant_name": "osm_demo", "schema_version": "1.1",
- "name": "OpenStack2",
- "vim_password": "gK5v4Gh2Pl41o6Skwp6RCw==", "vim_type": "openstack",
- "_admin": {"modified": 1567148372.2490237, "created": 1567148372.2490237,
- "operationalState": "ENABLED",
- "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "deployed": {"RO-account": "b7fb0034-caf3-11e9-9388-02420aff000a",
- "RO": "b7f129ce-caf3-11e9-9388-02420aff000a"},
- "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "detailed-status": "Done"},
- "vim_user": "admin", "vim_url": "http://10.234.12.44:5000/v3",
- "_id": "6618d412-d7fc-4eb0-a6f8-d2c258e0e900"},
- {"config": {}, "schema_version": "1.1", "name": "OpenStack4",
- "vim_password": "6LScyPeMq3QFh3GRb/xwZw==", "vim_type": "openstack",
- "vim_tenant_name": "osm_demo",
- "_admin": {"modified": 1567599911.5108898, "created": 1567599911.5108898,
- "operationalState": "ENABLED",
- "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "deployed": {"RO-account": "0a651200-cf0f-11e9-9388-02420aff000a",
- "RO": "0a4defc6-cf0f-11e9-9388-02420aff000a"},
- "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "detailed-status": "Done"},
- "vim_user": "admin", "vim_url": "http://10.234.12.43:5000/v3",
- "_id": "eda92f47-29b9-4007-9709-c1833dbfbe31"},
- {"config": {}, "schema_version": "1.1", "name": "OpenStack3",
- "vim_password": "6LScyPeMq3QFh3GRb/xwZw==", "vim_type": "openstack",
- "vim_tenant_name": "osm_demo",
- "_admin": {"modified": 1567599911.5108898, "created": 1567599911.5108898,
- "operationalState": "ENABLED",
- "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "deployed": {"RO-account": "0a651200-cf0f-11e9-9388-02420aff000a",
- "RO": "0a4defc6-cf0f-11e9-9388-02420aff000a"},
- "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "detailed-status": "Done"},
- "vim_user": "admin", "vim_url": "http://10.234.12.46:5000/v3",
- "_id": "eda92f47-29b9-4007-9709-c1833dbfbe31"},
- {"config": {}, "schema_version": "1.1", "name": "OpenStack5",
- "vim_password": "6LScyPeMq3QFh3GRb/xwZw==", "vim_type": "openstack",
- "vim_tenant_name": "osm_demo",
- "_admin": {"modified": 1567599911.5108898, "created": 1567599911.5108898,
- "operationalState": "ENABLED",
- "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "deployed": {"RO-account": "0a651200-cf0f-11e9-9388-02420aff000a",
- "RO": "0a4defc6-cf0f-11e9-9388-02420aff000a"},
- "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
- "detailed-status": "Done"},
- "vim_user": "admin", "vim_url": "http://1.1.1.1:5000/v3",
- "_id": "ffffffff-29b9-4007-9709-c1833dbfbe31"}]
+ vim_accounts = [
+ {
+ "vim_password": "FxtnynxBCnouzAT4Hkerhg==",
+ "config": {},
+ "_admin": {
+ "modified": 1564579854.0480285,
+ "created": 1564579854.0480285,
+ "operationalState": "ENABLED",
+ "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "deployed": {
+ "RO-account": "6beb4e2e-b397-11e9-a7a3-02420aff0008",
+ "RO": "6bcfc3fc-b397-11e9-a7a3-02420aff0008",
+ },
+ "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "detailed-status": "Done",
+ },
+ "name": "OpenStack1",
+ "vim_type": "openstack",
+ "_id": "92b056a7-38f5-438d-b8ee-3f93b3531f87",
+ "schema_version": "1.1",
+ "vim_user": "admin",
+ "vim_url": "http://10.234.12.47:5000/v3",
+ "vim_tenant_name": "admin",
+ },
+ {
+ "config": {},
+ "vim_tenant_name": "osm_demo",
+ "schema_version": "1.1",
+ "name": "OpenStack2",
+ "vim_password": "gK5v4Gh2Pl41o6Skwp6RCw==",
+ "vim_type": "openstack",
+ "_admin": {
+ "modified": 1567148372.2490237,
+ "created": 1567148372.2490237,
+ "operationalState": "ENABLED",
+ "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "deployed": {
+ "RO-account": "b7fb0034-caf3-11e9-9388-02420aff000a",
+ "RO": "b7f129ce-caf3-11e9-9388-02420aff000a",
+ },
+ "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "detailed-status": "Done",
+ },
+ "vim_user": "admin",
+ "vim_url": "http://10.234.12.44:5000/v3",
+ "_id": "6618d412-d7fc-4eb0-a6f8-d2c258e0e900",
+ },
+ {
+ "config": {},
+ "schema_version": "1.1",
+ "name": "OpenStack3",
+ "vim_password": "1R2FoMQnaL6rNSosoRP2hw==",
+ "vim_type": "openstack",
+ "vim_tenant_name": "osm_demo",
+ "_admin": {
+ "modified": 1567599746.689582,
+ "created": 1567599746.689582,
+ "operationalState": "ENABLED",
+ "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "deployed": {
+ "RO-account": "a8161f54-cf0e-11e9-9388-02420aff000a",
+ "RO": "a80b6280-cf0e-11e9-9388-02420aff000a",
+ },
+ "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "detailed-status": "Done",
+ },
+ "vim_user": "admin",
+ "vim_url": "http://10.234.12.46:5000/v3",
+ "_id": "331ffdec-44a8-4707-94a1-af7a292d9735",
+ },
+ {
+ "config": {},
+ "schema_version": "1.1",
+ "name": "OpenStack4",
+ "vim_password": "6LScyPeMq3QFh3GRb/xwZw==",
+ "vim_type": "openstack",
+ "vim_tenant_name": "osm_demo",
+ "_admin": {
+ "modified": 1567599911.5108898,
+ "created": 1567599911.5108898,
+ "operationalState": "ENABLED",
+ "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "deployed": {
+ "RO-account": "0a651200-cf0f-11e9-9388-02420aff000a",
+ "RO": "0a4defc6-cf0f-11e9-9388-02420aff000a",
+ },
+ "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "detailed-status": "Done",
+ },
+ "vim_user": "admin",
+ "vim_url": "http://10.234.12.43:5000/v3",
+ "_id": "eda92f47-29b9-4007-9709-c1833dbfbe31",
+ },
+ ]
+
+ vim_accounts_fewer_vims = [
+ {
+ "vim_password": "FxtnynxBCnouzAT4Hkerhg==",
+ "config": {},
+ "_admin": {
+ "modified": 1564579854.0480285,
+ "created": 1564579854.0480285,
+ "operationalState": "ENABLED",
+ "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "deployed": {
+ "RO-account": "6beb4e2e-b397-11e9-a7a3-02420aff0008",
+ "RO": "6bcfc3fc-b397-11e9-a7a3-02420aff0008",
+ },
+ "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "detailed-status": "Done",
+ },
+ "name": "OpenStack1",
+ "vim_type": "openstack",
+ "_id": "92b056a7-38f5-438d-b8ee-3f93b3531f87",
+ "schema_version": "1.1",
+ "vim_user": "admin",
+ "vim_url": "http://10.234.12.47:5000/v3",
+ "vim_tenant_name": "admin",
+ },
+ {
+ "config": {},
+ "vim_tenant_name": "osm_demo",
+ "schema_version": "1.1",
+ "name": "OpenStack2",
+ "vim_password": "gK5v4Gh2Pl41o6Skwp6RCw==",
+ "vim_type": "openstack",
+ "_admin": {
+ "modified": 1567148372.2490237,
+ "created": 1567148372.2490237,
+ "operationalState": "ENABLED",
+ "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "deployed": {
+ "RO-account": "b7fb0034-caf3-11e9-9388-02420aff000a",
+ "RO": "b7f129ce-caf3-11e9-9388-02420aff000a",
+ },
+ "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "detailed-status": "Done",
+ },
+ "vim_user": "admin",
+ "vim_url": "http://10.234.12.44:5000/v3",
+ "_id": "6618d412-d7fc-4eb0-a6f8-d2c258e0e900",
+ },
+ {
+ "config": {},
+ "schema_version": "1.1",
+ "name": "OpenStack4",
+ "vim_password": "6LScyPeMq3QFh3GRb/xwZw==",
+ "vim_type": "openstack",
+ "vim_tenant_name": "osm_demo",
+ "_admin": {
+ "modified": 1567599911.5108898,
+ "created": 1567599911.5108898,
+ "operationalState": "ENABLED",
+ "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "deployed": {
+ "RO-account": "0a651200-cf0f-11e9-9388-02420aff000a",
+ "RO": "0a4defc6-cf0f-11e9-9388-02420aff000a",
+ },
+ "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "detailed-status": "Done",
+ },
+ "vim_user": "admin",
+ "vim_url": "http://10.234.12.43:5000/v3",
+ "_id": "eda92f47-29b9-4007-9709-c1833dbfbe31",
+ },
+ ]
+
+ vim_accounts_more_vims = [
+ {
+ "vim_password": "FxtnynxBCnouzAT4Hkerhg==",
+ "config": {},
+ "_admin": {
+ "modified": 1564579854.0480285,
+ "created": 1564579854.0480285,
+ "operationalState": "ENABLED",
+ "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "deployed": {
+ "RO-account": "6beb4e2e-b397-11e9-a7a3-02420aff0008",
+ "RO": "6bcfc3fc-b397-11e9-a7a3-02420aff0008",
+ },
+ "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "detailed-status": "Done",
+ },
+ "name": "OpenStack1",
+ "vim_type": "openstack",
+ "_id": "92b056a7-38f5-438d-b8ee-3f93b3531f87",
+ "schema_version": "1.1",
+ "vim_user": "admin",
+ "vim_url": "http://10.234.12.47:5000/v3",
+ "vim_tenant_name": "admin",
+ },
+ {
+ "config": {},
+ "vim_tenant_name": "osm_demo",
+ "schema_version": "1.1",
+ "name": "OpenStack2",
+ "vim_password": "gK5v4Gh2Pl41o6Skwp6RCw==",
+ "vim_type": "openstack",
+ "_admin": {
+ "modified": 1567148372.2490237,
+ "created": 1567148372.2490237,
+ "operationalState": "ENABLED",
+ "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "deployed": {
+ "RO-account": "b7fb0034-caf3-11e9-9388-02420aff000a",
+ "RO": "b7f129ce-caf3-11e9-9388-02420aff000a",
+ },
+ "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "detailed-status": "Done",
+ },
+ "vim_user": "admin",
+ "vim_url": "http://10.234.12.44:5000/v3",
+ "_id": "6618d412-d7fc-4eb0-a6f8-d2c258e0e900",
+ },
+ {
+ "config": {},
+ "schema_version": "1.1",
+ "name": "OpenStack4",
+ "vim_password": "6LScyPeMq3QFh3GRb/xwZw==",
+ "vim_type": "openstack",
+ "vim_tenant_name": "osm_demo",
+ "_admin": {
+ "modified": 1567599911.5108898,
+ "created": 1567599911.5108898,
+ "operationalState": "ENABLED",
+ "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "deployed": {
+ "RO-account": "0a651200-cf0f-11e9-9388-02420aff000a",
+ "RO": "0a4defc6-cf0f-11e9-9388-02420aff000a",
+ },
+ "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "detailed-status": "Done",
+ },
+ "vim_user": "admin",
+ "vim_url": "http://10.234.12.43:5000/v3",
+ "_id": "eda92f47-29b9-4007-9709-c1833dbfbe31",
+ },
+ {
+ "config": {},
+ "schema_version": "1.1",
+ "name": "OpenStack3",
+ "vim_password": "6LScyPeMq3QFh3GRb/xwZw==",
+ "vim_type": "openstack",
+ "vim_tenant_name": "osm_demo",
+ "_admin": {
+ "modified": 1567599911.5108898,
+ "created": 1567599911.5108898,
+ "operationalState": "ENABLED",
+ "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "deployed": {
+ "RO-account": "0a651200-cf0f-11e9-9388-02420aff000a",
+ "RO": "0a4defc6-cf0f-11e9-9388-02420aff000a",
+ },
+ "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "detailed-status": "Done",
+ },
+ "vim_user": "admin",
+ "vim_url": "http://10.234.12.46:5000/v3",
+ "_id": "eda92f47-29b9-4007-9709-c1833dbfbe31",
+ },
+ {
+ "config": {},
+ "schema_version": "1.1",
+ "name": "OpenStack5",
+ "vim_password": "6LScyPeMq3QFh3GRb/xwZw==",
+ "vim_type": "openstack",
+ "vim_tenant_name": "osm_demo",
+ "_admin": {
+ "modified": 1567599911.5108898,
+ "created": 1567599911.5108898,
+ "operationalState": "ENABLED",
+ "projects_read": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "deployed": {
+ "RO-account": "0a651200-cf0f-11e9-9388-02420aff000a",
+ "RO": "0a4defc6-cf0f-11e9-9388-02420aff000a",
+ },
+ "projects_write": ["69915588-e5e2-46d3-96b0-a29bedef6f73"],
+ "detailed-status": "Done",
+ },
+ "vim_user": "admin",
+ "vim_url": "http://1.1.1.1:5000/v3",
+ "_id": "ffffffff-29b9-4007-9709-c1833dbfbe31",
+ },
+ ]
def _produce_ut_vim_accounts_info(self, vim_accounts):
"""
FIXME temporary, we will need more control over vim_urls and _id for test purpose - make a generator
:return: vim_url and _id as dict, i.e. extract these from vim_accounts data
"""
- return {_['name']: _['_id'] for _ in vim_accounts}
+ return {_["name"]: _["_id"] for _ in vim_accounts}
def _adjust_path(self, file):
"""In case we are not running from test directory,
then assume we are in top level directory (e.g. running from tox) and adjust file path accordingly"""
- path_component = '/osm_pla/test/'
+ path_component = "/osm_pla/test/"
real_path = os.path.realpath(file)
if path_component not in real_path:
- return os.path.dirname(real_path) + path_component + os.path.basename(real_path)
+ return (
+ os.path.dirname(real_path)
+ + path_component
+ + os.path.basename(real_path)
+ )
else:
return real_path
price_list_file = "vnf_price_list.yaml"
with open(str(Path(self._adjust_path(price_list_file)))) as pl_fd:
price_list_data = yaml.safe_load_all(pl_fd)
- return {i['vnfd']: {i1['vim_name']: i1['price'] for i1 in i['prices']} for i in next(price_list_data)}
+ return {
+ i["vnfd"]: {i1["vim_name"]: i1["price"] for i1 in i["prices"]}
+ for i in next(price_list_data)
+ }
def _produce_ut_vnf_test_price_list(self, price_list):
price_list_file = price_list
with open(str(Path(self._adjust_path(price_list_file)))) as pl_fd:
price_list_data = yaml.safe_load_all(pl_fd)
- return {i['vnfd']: {i1['vim_name']: i1['price'] for i1 in i['prices']} for i in next(price_list_data)}
+ return {
+ i["vnfd"]: {i1["vim_name"]: i1["price"] for i1 in i["prices"]}
+ for i in next(price_list_data)
+ }
def test__produce_trp_link_characteristics_link_latency_with_more_vims(self):
"""
- -test with more(other) vims compared to pil
- """
- content_expected = [0, 0, 0, 0, 0, 120, 120, 130, 130, 140, 140, 230, 230, 240, 240,
- 340, 340, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767]
+ -test with more(other) vims compared to pil
+ """
+ content_expected = [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 120,
+ 120,
+ 130,
+ 130,
+ 140,
+ 140,
+ 230,
+ 230,
+ 240,
+ 240,
+ 340,
+ 340,
+ 32767,
+ 32767,
+ 32767,
+ 32767,
+ 32767,
+ 32767,
+ 32767,
+ 32767,
+ ]
nspdf = NsPlacementDataFactory(
- self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts_more_vims),
+ self._produce_ut_vim_accounts_info(
+ TestNsPlacementDataFactory.vim_accounts_more_vims
+ ),
self._produce_ut_vnf_price_list(),
nsd=None,
- pil_info=self._populate_pil_info('pil_unittest1_keys.yaml'),
- pinning=None)
- pil_latencies = nspdf._produce_trp_link_characteristics_data('pil_latency')
+ pil_info=self._populate_pil_info("pil_unittest1_keys.yaml"),
+ pinning=None,
+ )
+ pil_latencies = nspdf._produce_trp_link_characteristics_data("pil_latency")
content_produced = [i for row in pil_latencies for i in row]
- self.assertEqual(Counter(content_expected), Counter(content_produced), 'trp_link_latency incorrect')
+ self.assertEqual(
+ Counter(content_expected),
+ Counter(content_produced),
+ "trp_link_latency incorrect",
+ )
def test__produce_trp_link_characteristics_link_latency_with_fewer_vims(self):
"""
"""
content_expected = [0, 0, 0, 120, 120, 140, 140, 240, 240]
nspdf = NsPlacementDataFactory(
- self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts_fewer_vims),
+ self._produce_ut_vim_accounts_info(
+ TestNsPlacementDataFactory.vim_accounts_fewer_vims
+ ),
self._produce_ut_vnf_price_list(),
nsd=None,
- pil_info=self._populate_pil_info('pil_unittest1_keys.yaml'),
- pinning=None)
- pil_latencies = nspdf._produce_trp_link_characteristics_data('pil_latency')
+ pil_info=self._populate_pil_info("pil_unittest1_keys.yaml"),
+ pinning=None,
+ )
+ pil_latencies = nspdf._produce_trp_link_characteristics_data("pil_latency")
content_produced = [i for row in pil_latencies for i in row]
- self.assertEqual(Counter(content_expected), Counter(content_produced), 'trp_link_latency incorrect')
+ self.assertEqual(
+ Counter(content_expected),
+ Counter(content_produced),
+ "trp_link_latency incorrect",
+ )
def test__produce_trp_link_characteristic_not_supported(self):
"""
- test with non-supported characteristic
"""
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=None,
- pil_info=self._populate_pil_info('pil_unittest1.yaml'), pinning=None)
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=None,
+ pil_info=self._populate_pil_info("pil_unittest1.yaml"),
+ pinning=None,
+ )
with self.assertRaises(Exception) as e:
- nspdf._produce_trp_link_characteristics_data('test_no_support')
- self.assertRegex(str(e.exception), r'characteristic.*not supported', "invalid exception content")
+ nspdf._produce_trp_link_characteristics_data("test_no_support")
+ self.assertRegex(
+ str(e.exception),
+ r"characteristic.*not supported",
+ "invalid exception content",
+ )
def test__produce_trp_link_characteristics_link_latency(self):
"""
:return:
"""
- content_expected = [0, 0, 0, 0, 120, 120, 130, 130, 140, 140, 230, 230, 240, 240, 340, 340]
+ content_expected = [
+ 0,
+ 0,
+ 0,
+ 0,
+ 120,
+ 120,
+ 130,
+ 130,
+ 140,
+ 140,
+ 230,
+ 230,
+ 240,
+ 240,
+ 340,
+ 340,
+ ]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=None,
- pil_info=self._populate_pil_info('pil_unittest1_keys.yaml'), pinning=None)
- pil_latencies = nspdf._produce_trp_link_characteristics_data('pil_latency')
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=None,
+ pil_info=self._populate_pil_info("pil_unittest1_keys.yaml"),
+ pinning=None,
+ )
+ pil_latencies = nspdf._produce_trp_link_characteristics_data("pil_latency")
content_produced = [i for row in pil_latencies for i in row]
- self.assertEqual(Counter(content_expected), Counter(content_produced), 'trp_link_latency incorrect')
+ self.assertEqual(
+ Counter(content_expected),
+ Counter(content_produced),
+ "trp_link_latency incorrect",
+ )
def test__produce_trp_link_characteristics_link_jitter(self):
"""
-test with full set of vims as in pil
"""
- content_expected = [0, 0, 0, 0, 1200, 1200, 1300, 1300, 1400, 1400, 2300, 2300, 2400, 2400, 3400, 3400]
+ content_expected = [
+ 0,
+ 0,
+ 0,
+ 0,
+ 1200,
+ 1200,
+ 1300,
+ 1300,
+ 1400,
+ 1400,
+ 2300,
+ 2300,
+ 2400,
+ 2400,
+ 3400,
+ 3400,
+ ]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=None,
- pil_info=self._populate_pil_info('pil_unittest1_keys.yaml'), pinning=None)
- pil_jitter = nspdf._produce_trp_link_characteristics_data('pil_jitter')
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=None,
+ pil_info=self._populate_pil_info("pil_unittest1_keys.yaml"),
+ pinning=None,
+ )
+ pil_jitter = nspdf._produce_trp_link_characteristics_data("pil_jitter")
content_produced = [i for row in pil_jitter for i in row]
- self.assertEqual(Counter(content_expected), Counter(content_produced), 'trp_link_jitter incorrect')
+ self.assertEqual(
+ Counter(content_expected),
+ Counter(content_produced),
+ "trp_link_jitter incorrect",
+ )
def test__produce_trp_link_characteristics_link_jitter_with_fewer_vims(self):
"""
-test with fewer vims compared to pil, link jitter
"""
content_expected = [0, 0, 0, 1200, 1200, 1400, 1400, 2400, 2400]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(self.vim_accounts_fewer_vims),
- self._produce_ut_vnf_price_list(),
- nsd=None,
- pil_info=self._populate_pil_info('pil_unittest1_keys.yaml'), pinning=None)
- pil_latencies = nspdf._produce_trp_link_characteristics_data('pil_jitter')
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(self.vim_accounts_fewer_vims),
+ self._produce_ut_vnf_price_list(),
+ nsd=None,
+ pil_info=self._populate_pil_info("pil_unittest1_keys.yaml"),
+ pinning=None,
+ )
+ pil_latencies = nspdf._produce_trp_link_characteristics_data("pil_jitter")
content_produced = [i for row in pil_latencies for i in row]
- self.assertEqual(Counter(content_expected), Counter(content_produced), 'trp_link_jitter incorrect')
+ self.assertEqual(
+ Counter(content_expected),
+ Counter(content_produced),
+ "trp_link_jitter incorrect",
+ )
def test__produce_trp_link_characteristics_link_jitter_with_more_vims(self):
"""
-test with more vims compared to pil, link jitter
"""
- content_expected = [0, 0, 0, 0, 0, 1200, 1200, 1300, 1300, 1400, 1400, 2300,
- 2300, 2400, 2400, 3400, 3400, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(self.vim_accounts_more_vims),
- self._produce_ut_vnf_price_list(),
- nsd=None,
- pil_info=self._populate_pil_info('pil_unittest1_keys.yaml'), pinning=None)
- pil_latencies = nspdf._produce_trp_link_characteristics_data('pil_jitter')
+ content_expected = [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1200,
+ 1200,
+ 1300,
+ 1300,
+ 1400,
+ 1400,
+ 2300,
+ 2300,
+ 2400,
+ 2400,
+ 3400,
+ 3400,
+ 32767,
+ 32767,
+ 32767,
+ 32767,
+ 32767,
+ 32767,
+ 32767,
+ 32767,
+ ]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(self.vim_accounts_more_vims),
+ self._produce_ut_vnf_price_list(),
+ nsd=None,
+ pil_info=self._populate_pil_info("pil_unittest1_keys.yaml"),
+ pinning=None,
+ )
+ pil_latencies = nspdf._produce_trp_link_characteristics_data("pil_jitter")
content_produced = [i for row in pil_latencies for i in row]
- self.assertEqual(Counter(content_expected), Counter(content_produced), 'trp_link_jitter incorrect')
+ self.assertEqual(
+ Counter(content_expected),
+ Counter(content_produced),
+ "trp_link_jitter incorrect",
+ )
def test__produce_trp_link_characteristics_link_price(self):
"""
-test with full set of vims as in pil
"""
content_expected = [0, 0, 0, 0, 12, 12, 13, 13, 14, 14, 23, 23, 24, 24, 34, 34]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=None,
- pil_info=self._populate_pil_info('pil_unittest1_keys.yaml'), pinning=None)
- pil_prices = nspdf._produce_trp_link_characteristics_data('pil_price')
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=None,
+ pil_info=self._populate_pil_info("pil_unittest1_keys.yaml"),
+ pinning=None,
+ )
+ pil_prices = nspdf._produce_trp_link_characteristics_data("pil_price")
content_produced = [i for row in pil_prices for i in row]
- self.assertEqual(Counter(content_expected), Counter(content_produced), 'invalid trp link prices')
+ self.assertEqual(
+ Counter(content_expected),
+ Counter(content_produced),
+ "invalid trp link prices",
+ )
def test__produce_trp_link_characteristics_link_price_with_fewer_vims(self):
"""
-test with fewer vims compared to pil
"""
content_expected = [0, 0, 0, 12, 12, 14, 14, 24, 24]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(self.vim_accounts_fewer_vims),
- self._produce_ut_vnf_price_list(),
- nsd=None,
- pil_info=self._populate_pil_info('pil_unittest1_keys.yaml'), pinning=None)
- pil_prices = nspdf._produce_trp_link_characteristics_data('pil_price')
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(self.vim_accounts_fewer_vims),
+ self._produce_ut_vnf_price_list(),
+ nsd=None,
+ pil_info=self._populate_pil_info("pil_unittest1_keys.yaml"),
+ pinning=None,
+ )
+ pil_prices = nspdf._produce_trp_link_characteristics_data("pil_price")
content_produced = [i for row in pil_prices for i in row]
- self.assertEqual(Counter(content_expected), Counter(content_produced), 'invalid trp link prices')
+ self.assertEqual(
+ Counter(content_expected),
+ Counter(content_produced),
+ "invalid trp link prices",
+ )
def test__produce_trp_link_characteristics_partly_constrained(self):
- content_expected = [0, 0, 0, 0, 32767, 32767, 32767, 32767, 1200, 1200, 1400, 1400, 2400, 2400, 3400, 3400]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=None,
- pil_info=self._populate_pil_info('pil_unittest2_keys.yaml'), pinning=None)
- pil_jitter = nspdf._produce_trp_link_characteristics_data('pil_jitter')
+ content_expected = [
+ 0,
+ 0,
+ 0,
+ 0,
+ 32767,
+ 32767,
+ 32767,
+ 32767,
+ 1200,
+ 1200,
+ 1400,
+ 1400,
+ 2400,
+ 2400,
+ 3400,
+ 3400,
+ ]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=None,
+ pil_info=self._populate_pil_info("pil_unittest2_keys.yaml"),
+ pinning=None,
+ )
+ pil_jitter = nspdf._produce_trp_link_characteristics_data("pil_jitter")
content_produced = [i for row in pil_jitter for i in row]
- self.assertEqual(Counter(content_expected), Counter(content_produced),
- 'invalid trp link jitter, partly constrained')
+ self.assertEqual(
+ Counter(content_expected),
+ Counter(content_produced),
+ "invalid trp link jitter, partly constrained",
+ )
def test__produce_vld_desc_partly_constrained(self):
- vld_desc_expected = [{'cp_refs': ['one', 'two'], 'jitter': 30},
- {'cp_refs': ['two', 'three'], 'latency': 120}]
-
- nsd = self._get_ut_nsd_from_file('nsd_unittest2.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=nsd,
- pil_info=None, pinning=None)
- self.assertEqual(vld_desc_expected, nspdf._produce_vld_desc(),
- "vld_desc incorrect")
+ vld_desc_expected = [
+ {"cp_refs": ["one", "two"], "jitter": 30},
+ {"cp_refs": ["two", "three"], "latency": 120},
+ ]
+
+ nsd = self._get_ut_nsd_from_file("nsd_unittest2.yaml")
+ nsd = nsd["nsd"]["nsd"][0]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=nsd,
+ pil_info=None,
+ pinning=None,
+ )
+ self.assertEqual(
+ vld_desc_expected, nspdf._produce_vld_desc(), "vld_desc incorrect"
+ )
def test__produce_trp_link_characteristics_link_latency_not_yaml_conformant(self):
"""
-test with invalid/corrupt pil configuration file (not yaml conformant)
"""
with self.assertRaises(Exception) as e:
- _ = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=None,
- pil_info=self._populate_pil_info('not_yaml_conformant.yaml'),
- pinning=None)
- self.assertRegex(str(e.exception), r'mapping values are not allowed here.*', "invalid exception content")
+ _ = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(
+ TestNsPlacementDataFactory.vim_accounts
+ ),
+ self._produce_ut_vnf_price_list(),
+ nsd=None,
+ pil_info=self._populate_pil_info("not_yaml_conformant.yaml"),
+ pinning=None,
+ )
+ self.assertRegex(
+ str(e.exception),
+ r"mapping values are not allowed here.*",
+ "invalid exception content",
+ )
def test__produce_trp_link_characteristics_with_invalid_pil_config(self):
"""
-test with invalid/corrupt pil configuration file (missing endpoint)
"""
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=None,
- pil_info=self._populate_pil_info('corrupt_pil_endpoints_config_unittest1.yaml'),
- pinning=None)
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=None,
+ pil_info=self._populate_pil_info(
+ "corrupt_pil_endpoints_config_unittest1.yaml"
+ ),
+ pinning=None,
+ )
with self.assertRaises(Exception) as e:
- _ = nspdf._produce_trp_link_characteristics_data('pil_latency')
- self.assertEqual('list index out of range', str(e.exception), "unexpected exception")
+ _ = nspdf._produce_trp_link_characteristics_data("pil_latency")
+ self.assertEqual(
+ "list index out of range", str(e.exception), "unexpected exception"
+ )
def test__produce_vld_desc_w_instantiate_override(self):
- vld_desc_expected = [{'cp_refs': ['one', 'two'], 'latency': 150, 'jitter': 30},
- {'cp_refs': ['two', 'three'], 'latency': 90, 'jitter': 30}]
+ vld_desc_expected = [
+ {"cp_refs": ["one", "two"], "latency": 150, "jitter": 30},
+ {"cp_refs": ["two", "three"], "latency": 90, "jitter": 30},
+ ]
- nsd = self._get_ut_nsd_from_file('nsd_unittest_no_vld_constraints.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=nsd,
- pil_info=None, pinning=None,
- order_constraints=None)
+ nsd = self._get_ut_nsd_from_file("nsd_unittest_no_vld_constraints.yaml")
+ nsd = nsd["nsd"]["nsd"][0]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=nsd,
+ pil_info=None,
+ pinning=None,
+ order_constraints=None,
+ )
- self.assertNotEqual(nspdf._produce_vld_desc(),
- vld_desc_expected, "vld_desc incorrect")
+ self.assertNotEqual(
+ nspdf._produce_vld_desc(), vld_desc_expected, "vld_desc incorrect"
+ )
def test__produce_vld_desc_nsd_w_instantiate_wo(self):
"""
nsd w/ constraints, instantiate w/o constraints
:return:
"""
- vld_desc_expected = [{'cp_refs': ['one', 'two'], 'latency': 150, 'jitter': 30},
- {'cp_refs': ['two', 'three'], 'latency': 90, 'jitter': 30}]
+ vld_desc_expected = [
+ {"cp_refs": ["one", "two"], "latency": 150, "jitter": 30},
+ {"cp_refs": ["two", "three"], "latency": 90, "jitter": 30},
+ ]
- nsd = self._get_ut_nsd_from_file('nsd_unittest3.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=nsd,
- pil_info=None, pinning=None,
- order_constraints=None)
+ nsd = self._get_ut_nsd_from_file("nsd_unittest3.yaml")
+ nsd = nsd["nsd"]["nsd"][0]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=nsd,
+ pil_info=None,
+ pinning=None,
+ order_constraints=None,
+ )
- self.assertEqual(vld_desc_expected, nspdf._produce_vld_desc(),
- "vld_desc incorrect")
+ self.assertEqual(
+ vld_desc_expected, nspdf._produce_vld_desc(), "vld_desc incorrect"
+ )
def test__produce_vld_desc_nsd_w_instantiate_w(self):
"""
nsd w/ constraints, instantiate w/ constraints => override
:return:
"""
- vld_desc_expected = [{'cp_refs': ['one', 'two'], 'latency': 120, 'jitter': 21},
- {'cp_refs': ['two', 'three'], 'latency': 121, 'jitter': 22}]
-
- nsd = self._get_ut_nsd_from_file('nsd_unittest3.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=nsd,
- pil_info=None, pinning=None,
- order_constraints={
- 'vld-constraints': [{'id': 'three_vnf_constrained_nsd_vld1',
- 'link-constraints': {'latency': 120,
- 'jitter': 21}},
- {'id': 'three_vnf_constrained_nsd_vld2',
- 'link-constraints': {'latency': 121,
- 'jitter': 22}}]})
-
- self.assertEqual(vld_desc_expected, nspdf._produce_vld_desc(),
- "vld_desc incorrect")
+ vld_desc_expected = [
+ {"cp_refs": ["one", "two"], "latency": 120, "jitter": 21},
+ {"cp_refs": ["two", "three"], "latency": 121, "jitter": 22},
+ ]
+
+ nsd = self._get_ut_nsd_from_file("nsd_unittest3.yaml")
+ nsd = nsd["nsd"]["nsd"][0]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=nsd,
+ pil_info=None,
+ pinning=None,
+ order_constraints={
+ "vld-constraints": [
+ {
+ "id": "three_vnf_constrained_nsd_vld1",
+ "link-constraints": {"latency": 120, "jitter": 21},
+ },
+ {
+ "id": "three_vnf_constrained_nsd_vld2",
+ "link-constraints": {"latency": 121, "jitter": 22},
+ },
+ ]
+ },
+ )
+
+ self.assertEqual(
+ vld_desc_expected, nspdf._produce_vld_desc(), "vld_desc incorrect"
+ )
def test__produce_vld_desc_nsd_wo_instantiate_wo(self):
"""
nsd w/o constraints, instantiate w/o constraints = no constraints in model
:return:
"""
- vld_desc_expected = [{'cp_refs': ['one', 'two']},
- {'cp_refs': ['two', 'three']}]
+ vld_desc_expected = [{"cp_refs": ["one", "two"]}, {"cp_refs": ["two", "three"]}]
- nsd = self._get_ut_nsd_from_file('nsd_unittest_no_vld_constraints.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=nsd,
- pil_info=None, pinning=None,
- order_constraints=None)
+ nsd = self._get_ut_nsd_from_file("nsd_unittest_no_vld_constraints.yaml")
+ nsd = nsd["nsd"]["nsd"][0]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=nsd,
+ pil_info=None,
+ pinning=None,
+ order_constraints=None,
+ )
- self.assertEqual(vld_desc_expected, nspdf._produce_vld_desc(),
- "vld_desc incorrect")
+ self.assertEqual(
+ vld_desc_expected, nspdf._produce_vld_desc(), "vld_desc incorrect"
+ )
def test__produce_vld_desc_nsd_wo_instantiate_w(self):
"""
nsd w/o constraints, instantiate w/ constraints => add constraints
:return:
"""
- vld_desc_expected = [{'cp_refs': ['one', 'two'], 'latency': 140, 'jitter': 41},
- {'cp_refs': ['two', 'three'], 'latency': 141, 'jitter': 42}]
-
- nsd = self._get_ut_nsd_from_file('nsd_unittest_no_vld_constraints.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=nsd,
- pil_info=None, pinning=None,
- order_constraints={
- 'vld-constraints': [{'id': 'three_vnf_constrained_nsd_vld1',
- 'link-constraints': {'latency': 140,
- 'jitter': 41}},
- {'id': 'three_vnf_constrained_nsd_vld2',
- 'link-constraints': {'latency': 141,
- 'jitter': 42}}]})
-
- self.assertEqual(vld_desc_expected, nspdf._produce_vld_desc(),
- "vld_desc incorrect")
+ vld_desc_expected = [
+ {"cp_refs": ["one", "two"], "latency": 140, "jitter": 41},
+ {"cp_refs": ["two", "three"], "latency": 141, "jitter": 42},
+ ]
+
+ nsd = self._get_ut_nsd_from_file("nsd_unittest_no_vld_constraints.yaml")
+ nsd = nsd["nsd"]["nsd"][0]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=nsd,
+ pil_info=None,
+ pinning=None,
+ order_constraints={
+ "vld-constraints": [
+ {
+ "id": "three_vnf_constrained_nsd_vld1",
+ "link-constraints": {"latency": 140, "jitter": 41},
+ },
+ {
+ "id": "three_vnf_constrained_nsd_vld2",
+ "link-constraints": {"latency": 141, "jitter": 42},
+ },
+ ]
+ },
+ )
+
+ self.assertEqual(
+ vld_desc_expected, nspdf._produce_vld_desc(), "vld_desc incorrect"
+ )
def test__produce_vld_desc_nsd_wo_instantiate_w_faulty_input(self):
"""
nsd w/o constraints, instantiate w/ constraints => add constraints that can be parsed
:return:
"""
- vld_desc_expected = [{'cp_refs': ['one', 'two']},
- {'cp_refs': ['two', 'three'], 'latency': 151}]
-
- nsd = self._get_ut_nsd_from_file('nsd_unittest_no_vld_constraints.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=nsd,
- pil_info=None, pinning=None,
- order_constraints={'vld-constraints': [{'id': 'not_included_vld',
- 'misspelled-constraints':
- {'latency': 120,
- 'jitter': 20}},
- {'id': 'three_vnf_constrained_nsd_vld2',
- 'link-constraints': {
- 'latency': 151}}]})
-
- self.assertEqual(vld_desc_expected, nspdf._produce_vld_desc(),
- "vld_desc incorrect")
+ vld_desc_expected = [
+ {"cp_refs": ["one", "two"]},
+ {"cp_refs": ["two", "three"], "latency": 151},
+ ]
+
+ nsd = self._get_ut_nsd_from_file("nsd_unittest_no_vld_constraints.yaml")
+ nsd = nsd["nsd"]["nsd"][0]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=nsd,
+ pil_info=None,
+ pinning=None,
+ order_constraints={
+ "vld-constraints": [
+ {
+ "id": "not_included_vld",
+ "misspelled-constraints": {"latency": 120, "jitter": 20},
+ },
+ {
+ "id": "three_vnf_constrained_nsd_vld2",
+ "link-constraints": {"latency": 151},
+ },
+ ]
+ },
+ )
+
+ self.assertEqual(
+ vld_desc_expected, nspdf._produce_vld_desc(), "vld_desc incorrect"
+ )
def test__produce_vld_desc_nsd_wo_instantiate_w_faulty_input_again(self):
"""
nsd w/o constraints, instantiate w/ faulty constraints => add constraints that can be parsed
:return:
"""
- vld_desc_expected = [{'cp_refs': ['one', 'two'], 'jitter': 21},
- {'cp_refs': ['two', 'three']}]
-
- nsd = self._get_ut_nsd_from_file('nsd_unittest_no_vld_constraints.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=nsd,
- pil_info=None, pinning=None,
- order_constraints={
- 'vld-constraints': [{'id': 'three_vnf_constrained_nsd_vld1',
- 'link-constraints': {'delay': 120,
- 'jitter': 21}},
- {'id': 'three_vnf_constrained_nsd_vld2',
- 'misspelled-constraints': {'latency': 121,
- 'jitter': 22}}]})
-
- self.assertEqual(vld_desc_expected, nspdf._produce_vld_desc(),
- "vld_desc incorrect")
+ vld_desc_expected = [
+ {"cp_refs": ["one", "two"], "jitter": 21},
+ {"cp_refs": ["two", "three"]},
+ ]
- def test__produce_vld_desc_mgmt_network(self):
- vld_desc_expected = [{'cp_refs': ['1', '2'], 'latency': 120, 'jitter': 20},
- {'cp_refs': ['2', '4'], 'latency': 50, 'jitter': 10},
- {'cp_refs': ['2', '3'], 'latency': 20, 'jitter': 10}, ]
+ nsd = self._get_ut_nsd_from_file("nsd_unittest_no_vld_constraints.yaml")
+ nsd = nsd["nsd"]["nsd"][0]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=nsd,
+ pil_info=None,
+ pinning=None,
+ order_constraints={
+ "vld-constraints": [
+ {
+ "id": "three_vnf_constrained_nsd_vld1",
+ "link-constraints": {"delay": 120, "jitter": 21},
+ },
+ {
+ "id": "three_vnf_constrained_nsd_vld2",
+ "misspelled-constraints": {"latency": 121, "jitter": 22},
+ },
+ ]
+ },
+ )
+
+ self.assertEqual(
+ vld_desc_expected, nspdf._produce_vld_desc(), "vld_desc incorrect"
+ )
- nsd = self._get_ut_nsd_from_file('test_five_nsd.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=nsd,
- pil_info=None, pinning=None,
- order_constraints=None)
+ def test__produce_vld_desc_mgmt_network(self):
+ vld_desc_expected = [
+ {"cp_refs": ["1", "2"], "latency": 120, "jitter": 20},
+ {"cp_refs": ["2", "4"], "latency": 50, "jitter": 10},
+ {"cp_refs": ["2", "3"], "latency": 20, "jitter": 10},
+ ]
+
+ nsd = self._get_ut_nsd_from_file("test_five_nsd.yaml")
+ nsd = nsd["nsd"]["nsd"][0]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=nsd,
+ pil_info=None,
+ pinning=None,
+ order_constraints=None,
+ )
- self.assertEqual(vld_desc_expected, nspdf._produce_vld_desc(), "vld_desc incorrect")
+ self.assertEqual(
+ vld_desc_expected, nspdf._produce_vld_desc(), "vld_desc incorrect"
+ )
def test__produce_vld_desc_single_vnf_nsd(self):
vld_desc_expected = []
- nsd = self._get_ut_nsd_from_file('nsd_unittest4.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=nsd,
- pil_info=None, pinning=None,
- order_constraints=None)
+ nsd = self._get_ut_nsd_from_file("nsd_unittest4.yaml")
+ nsd = nsd["nsd"]["nsd"][0]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=nsd,
+ pil_info=None,
+ pinning=None,
+ order_constraints=None,
+ )
- self.assertEqual(vld_desc_expected, nspdf._produce_vld_desc(), "vld_desc_incorrect")
+ self.assertEqual(
+ vld_desc_expected, nspdf._produce_vld_desc(), "vld_desc_incorrect"
+ )
def test__produce_vld_desc_slice_nsd(self):
vld_desc_expected = []
- nsd = self._get_ut_nsd_from_file('slice_hackfest_middle_nsd.yaml')
- nsd = nsd['nsd-catalog']['nsd'][0]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=nsd,
- pil_info=None, pinning=None,
- order_constraints=None)
+ nsd = self._get_ut_nsd_from_file("slice_hackfest_middle_nsd.yaml")
+ nsd = nsd["nsd"]["nsd"][0]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=nsd,
+ pil_info=None,
+ pinning=None,
+ order_constraints=None,
+ )
- self.assertEqual(vld_desc_expected, nspdf._produce_vld_desc(), "vld_desc_incorrect")
+ self.assertEqual(
+ vld_desc_expected, nspdf._produce_vld_desc(), "vld_desc_incorrect"
+ )
def test__produce_vld_desc(self):
"""
:return:
"""
- vld_desc_expected = [{'cp_refs': ['one', 'two'], 'latency': 150, 'jitter': 30},
- {'cp_refs': ['two', 'three'], 'latency': 90, 'jitter': 30}]
+ vld_desc_expected = [
+ {"cp_refs": ["one", "two"], "latency": 150, "jitter": 30},
+ {"cp_refs": ["two", "three"], "latency": 90, "jitter": 30},
+ ]
- nsd = self._get_ut_nsd_from_file('nsd_unittest3.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=nsd,
- pil_info=None, pinning=None,
- order_constraints=None)
+ nsd = self._get_ut_nsd_from_file("nsd_unittest3.yaml")
+ nsd = nsd["nsd"]["nsd"][0]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=nsd,
+ pil_info=None,
+ pinning=None,
+ order_constraints=None,
+ )
- self.assertEqual(vld_desc_expected, nspdf._produce_vld_desc(), "vld_desc incorrect")
+ self.assertEqual(
+ vld_desc_expected, nspdf._produce_vld_desc(), "vld_desc incorrect"
+ )
def test__produce_ns_desc(self):
"""
- nsd with different vndfd-id-refs
- fault case scenarios with non-existing vims, non-existing vnfds
"""
- nsd = self._get_ut_nsd_from_file('nsd_unittest3.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=nsd,
- pil_info=None,
- pinning=None)
+ nsd = self._get_ut_nsd_from_file("nsd_unittest3.yaml")
+ nsd = nsd["nsd"]["nsd"][0]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=nsd,
+ pil_info=None,
+ pinning=None,
+ )
ns_desc = nspdf._produce_ns_desc()
# check that all expected member-vnf-index are present
- vnfs = [e['vnf_id'] for e in ns_desc]
- self.assertEqual(Counter(['one', 'two', 'three']), Counter(vnfs), 'vnf_id invalid')
+ vnfs = [e["vnf_id"] for e in ns_desc]
+ self.assertEqual(
+ Counter(["one", "two", "three"]), Counter(vnfs), "vnf_id invalid"
+ )
- expected_keys = ['vnf_id', 'vnf_price_per_vim']
+ expected_keys = ["vnf_id", "vnf_price_per_vim"]
for e in ns_desc:
# check that vnf_price_per_vim has proper values
- self.assertEqual(Counter([5, 10, 30, 30]), Counter(e['vnf_price_per_vim']), 'vnf_price_per_vim invalid')
+ self.assertEqual(
+ Counter([5, 10, 30, 30]),
+ Counter(e["vnf_price_per_vim"]),
+ "vnf_price_per_vim invalid",
+ )
# check that no pinning directives included
- self.assertEqual(Counter(expected_keys), Counter(e.keys()), 'pinning directive misplaced')
+ self.assertEqual(
+ Counter(expected_keys), Counter(e.keys()), "pinning directive misplaced"
+ )
def test__produce_ns_desc_with_more_vims(self):
- nsd = self._get_ut_nsd_from_file('nsd_unittest1.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(self.vim_accounts_more_vims),
- self._produce_ut_vnf_test_price_list('vnf_price_list_more_vims.yaml'),
- nsd=nsd,
- pil_info=None,
- pinning=None)
+ nsd = self._get_ut_nsd_from_file("nsd_unittest1.yaml")
+ nsd = nsd["nsd"]["nsd"][0]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(self.vim_accounts_more_vims),
+ self._produce_ut_vnf_test_price_list("vnf_price_list_more_vims.yaml"),
+ nsd=nsd,
+ pil_info=None,
+ pinning=None,
+ )
ns_desc = nspdf._produce_ns_desc()
# check that all expected member-vnf-index are present
- vnfs = [e['vnf_id'] for e in ns_desc]
- self.assertEqual(Counter([1, 3, 2]), Counter(vnfs), 'vnf_id invalid')
+ vnfs = [e["vnf_id"] for e in ns_desc]
+ self.assertEqual(
+ Counter({"1": 1, "2": 1, "3": 1}), Counter(vnfs), "vnf_id invalid"
+ )
- expected_keys = ['vnf_id', 'vnf_price_per_vim']
+ expected_keys = ["vnf_id", "vnf_price_per_vim"]
for e in ns_desc:
# check that vnf_price_per_vim has proper values
- self.assertEqual(Counter([5, 10, 30, 30, 3]), Counter(e['vnf_price_per_vim']), 'vnf_price_per_vim invalid')
+ self.assertEqual(
+ Counter([5, 10, 30, 30, 3]),
+ Counter(e["vnf_price_per_vim"]),
+ "vnf_price_per_vim invalid",
+ )
# check that no pinning directives included
- self.assertEqual(Counter(expected_keys), Counter(e.keys()), 'pinning directive misplaced')
+ self.assertEqual(
+ Counter(expected_keys), Counter(e.keys()), "pinning directive misplaced"
+ )
def test__produce_ns_desc_with_fewer_vims(self):
- nsd = self._get_ut_nsd_from_file('nsd_unittest1.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(self.vim_accounts_fewer_vims),
- self._produce_ut_vnf_price_list(),
- nsd=nsd,
- pil_info=None,
- pinning=None)
+ nsd = self._get_ut_nsd_from_file("nsd_unittest1.yaml")
+ nsd = nsd["nsd"]["nsd"][0]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(self.vim_accounts_fewer_vims),
+ self._produce_ut_vnf_price_list(),
+ nsd=nsd,
+ pil_info=None,
+ pinning=None,
+ )
ns_desc = nspdf._produce_ns_desc()
# check that all expected member-vnf-index are present
- vnfs = [e['vnf_id'] for e in ns_desc]
- self.assertEqual(Counter([1, 3, 2]), Counter(vnfs), 'vnf_id invalid')
+ vnfs = [e["vnf_id"] for e in ns_desc]
+ self.assertEqual(
+ Counter({"1": 1, "2": 1, "3": 1}), Counter(vnfs), "vnf_id invalid"
+ )
- expected_keys = ['vnf_id', 'vnf_price_per_vim']
+ expected_keys = ["vnf_id", "vnf_price_per_vim"]
for e in ns_desc:
# check that vnf_price_per_vim has proper values
- self.assertEqual(Counter([5, 10, 30]), Counter(e['vnf_price_per_vim']), 'vnf_price_per_vim invalid')
+ self.assertEqual(
+ Counter([5, 10, 30]),
+ Counter(e["vnf_price_per_vim"]),
+ "vnf_price_per_vim invalid",
+ )
# check that no pinning directives included
- self.assertEqual(Counter(expected_keys), Counter(e.keys()), 'pinning directive misplaced')
+ self.assertEqual(
+ Counter(expected_keys), Counter(e.keys()), "pinning directive misplaced"
+ )
def test__produce_ns_desc_w_pinning(self):
- nsd = self._get_ut_nsd_from_file('nsd_unittest3.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
- pinning = [{'member-vnf-index': 'two', 'vimAccountId': '331ffdec-44a8-4707-94a1-af7a292d9735'}]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=nsd,
- pil_info=None,
- pinning=pinning)
+ nsd = self._get_ut_nsd_from_file("nsd_unittest3.yaml")
+ nsd = nsd["nsd"]["nsd"][0]
+ pinning = [
+ {
+ "member-vnf-index": "two",
+ "vimAccountId": "331ffdec-44a8-4707-94a1-af7a292d9735",
+ }
+ ]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=nsd,
+ pil_info=None,
+ pinning=pinning,
+ )
ns_desc = nspdf._produce_ns_desc()
# check that all expected member-vnf-index are present
- vnfs = [e['vnf_id'] for e in ns_desc]
- self.assertEqual(Counter(['one', 'three', 'two']), Counter(vnfs), 'vnf_id invalid')
+ vnfs = [e["vnf_id"] for e in ns_desc]
+ self.assertEqual(
+ Counter(["one", "three", "two"]), Counter(vnfs), "vnf_id invalid"
+ )
for e in ns_desc:
# check that vnf_price_per_vim has proper values
- self.assertEqual(Counter([5, 10, 30, 30]), Counter(e['vnf_price_per_vim']), 'vnf_price_per_vim invalid')
+ self.assertEqual(
+ Counter([5, 10, 30, 30]),
+ Counter(e["vnf_price_per_vim"]),
+ "vnf_price_per_vim invalid",
+ )
# check that member-vnf-index 2 is pinned correctly
- if e['vnf_id'] == 'two':
- self.assertTrue('vim_account' in e.keys(), 'missing pinning directive')
- self.assertTrue(pinning[0]['vimAccountId'] == e['vim_account'][3:].replace('_', '-'),
- 'invalid pinning vim-account')
+ if e["vnf_id"] == "two":
+ self.assertTrue("vim_account" in e.keys(), "missing pinning directive")
+ self.assertTrue(
+ pinning[0]["vimAccountId"]
+ == e["vim_account"][3:].replace("_", "-"),
+ "invalid pinning vim-account",
+ )
else:
- self.assertTrue('vim-account' not in e.keys(), 'pinning directive misplaced')
-
- @mock.patch.object(NsPlacementDataFactory, '_produce_trp_link_characteristics_data')
- @mock.patch.object(NsPlacementDataFactory, '_produce_vld_desc')
- @mock.patch.object(NsPlacementDataFactory, '_produce_ns_desc')
- def test_create_ns_placement_data_wo_order(self, mock_prd_ns_desc, mock_prd_vld_desc, mock_prd_trp_link_char):
+ self.assertTrue(
+ "vim-account" not in e.keys(), "pinning directive misplaced"
+ )
+
+ @mock.patch.object(NsPlacementDataFactory, "_produce_trp_link_characteristics_data")
+ @mock.patch.object(NsPlacementDataFactory, "_produce_vld_desc")
+ @mock.patch.object(NsPlacementDataFactory, "_produce_ns_desc")
+ def test_create_ns_placement_data_wo_order(
+ self, mock_prd_ns_desc, mock_prd_vld_desc, mock_prd_trp_link_char
+ ):
"""
:return:
"""
- vim_accounts_expected = [v.replace('-', '_') for v in ['vim92b056a7-38f5-438d-b8ee-3f93b3531f87',
- 'vim6618d412-d7fc-4eb0-a6f8-d2c258e0e900',
- 'vim331ffdec-44a8-4707-94a1-af7a292d9735',
- 'vimeda92f47-29b9-4007-9709-c1833dbfbe31']]
-
- nsd = self._get_ut_nsd_from_file('nsd_unittest3.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=nsd,
- pil_info=self._populate_pil_info('pil_unittest1.yaml'),
- pinning=None,
- order_constraints=None)
+ vim_accounts_expected = [
+ v.replace("-", "_")
+ for v in [
+ "vim92b056a7-38f5-438d-b8ee-3f93b3531f87",
+ "vim6618d412-d7fc-4eb0-a6f8-d2c258e0e900",
+ "vim331ffdec-44a8-4707-94a1-af7a292d9735",
+ "vimeda92f47-29b9-4007-9709-c1833dbfbe31",
+ ]
+ ]
+
+ nsd = self._get_ut_nsd_from_file("nsd_unittest3.yaml")
+ nsd = nsd["nsd"]["nsd"][0]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=nsd,
+ pil_info=self._populate_pil_info("pil_unittest1.yaml"),
+ pinning=None,
+ order_constraints=None,
+ )
nspd = nspdf.create_ns_placement_data()
- self.assertEqual(Counter(vim_accounts_expected), Counter(nspd['vim_accounts']),
- "vim_accounts incorrect")
+ self.assertEqual(
+ Counter(vim_accounts_expected),
+ Counter(nspd["vim_accounts"]),
+ "vim_accounts incorrect",
+ )
# mock1.assert_called_once() Note for python > 3.5
- self.assertTrue(mock_prd_ns_desc.called, '_produce_ns_desc not called')
+ self.assertTrue(mock_prd_ns_desc.called, "_produce_ns_desc not called")
# mock2.assert_called_once() Note for python > 3.5
- self.assertTrue(mock_prd_vld_desc.called, ' _produce_vld_desc not called')
- mock_prd_trp_link_char.assert_has_calls([call('pil_latency'), call('pil_jitter'), call('pil_price')])
-
- regexps = [r"\{.*\}", r".*'file':.*mznplacement.py", r".*'time':.*datetime.datetime\(.*\)"]
- generator_data = str(nspd['generator_data'])
+ self.assertTrue(mock_prd_vld_desc.called, " _produce_vld_desc not called")
+ mock_prd_trp_link_char.assert_has_calls(
+ [call("pil_latency"), call("pil_jitter"), call("pil_price")]
+ )
+
+ regexps = [
+ r"\{.*\}",
+ r".*'file':.*mznplacement.py",
+ r".*'time':.*datetime.datetime\(.*\)",
+ ]
+ generator_data = str(nspd["generator_data"])
for regex in regexps:
self.assertRegex(generator_data, regex, "generator data invalid")
- @mock.patch.object(NsPlacementDataFactory, '_produce_trp_link_characteristics_data')
- @mock.patch.object(NsPlacementDataFactory, '_produce_vld_desc')
- @mock.patch.object(NsPlacementDataFactory, '_produce_ns_desc')
- def test_create_ns_placement_data_w_order(self, mock_prd_ns_desc, mock_prd_vld_desc,
- mock_prd_trp_link_char):
+ @mock.patch.object(NsPlacementDataFactory, "_produce_trp_link_characteristics_data")
+ @mock.patch.object(NsPlacementDataFactory, "_produce_vld_desc")
+ @mock.patch.object(NsPlacementDataFactory, "_produce_ns_desc")
+ def test_create_ns_placement_data_w_order(
+ self, mock_prd_ns_desc, mock_prd_vld_desc, mock_prd_trp_link_char
+ ):
"""
:return:
"""
- vim_accounts_expected = [v.replace('-', '_') for v in ['vim92b056a7-38f5-438d-b8ee-3f93b3531f87',
- 'vim6618d412-d7fc-4eb0-a6f8-d2c258e0e900',
- 'vim331ffdec-44a8-4707-94a1-af7a292d9735',
- 'vimeda92f47-29b9-4007-9709-c1833dbfbe31']]
-
- nsd = self._get_ut_nsd_from_file('nsd_unittest3.yaml')
- nsd = nsd['nsd:nsd-catalog']['nsd'][0]
- nspdf = NsPlacementDataFactory(self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
- self._produce_ut_vnf_price_list(),
- nsd=nsd,
- pil_info=self._populate_pil_info('pil_unittest1.yaml'),
- pinning=None,
- order_constraints={
- 'vld-constraints': [{'id': 'three_vnf_constrained_nsd_vld1',
- 'link-constraints': {'latency': 120,
- 'jitter': 21}},
- {'id': 'three_vnf_constrained_nsd_vld2',
- 'link-constraints': {'latency': 121,
- 'jitter': 22}}]}
- )
+ vim_accounts_expected = [
+ v.replace("-", "_")
+ for v in [
+ "vim92b056a7-38f5-438d-b8ee-3f93b3531f87",
+ "vim6618d412-d7fc-4eb0-a6f8-d2c258e0e900",
+ "vim331ffdec-44a8-4707-94a1-af7a292d9735",
+ "vimeda92f47-29b9-4007-9709-c1833dbfbe31",
+ ]
+ ]
+
+ nsd = self._get_ut_nsd_from_file("nsd_unittest3.yaml")
+ nsd = nsd["nsd"]["nsd"][0]
+ nspdf = NsPlacementDataFactory(
+ self._produce_ut_vim_accounts_info(TestNsPlacementDataFactory.vim_accounts),
+ self._produce_ut_vnf_price_list(),
+ nsd=nsd,
+ pil_info=self._populate_pil_info("pil_unittest1.yaml"),
+ pinning=None,
+ order_constraints={
+ "vld-constraints": [
+ {
+ "id": "three_vnf_constrained_nsd_vld1",
+ "link-constraints": {"latency": 120, "jitter": 21},
+ },
+ {
+ "id": "three_vnf_constrained_nsd_vld2",
+ "link-constraints": {"latency": 121, "jitter": 22},
+ },
+ ]
+ },
+ )
nspd = nspdf.create_ns_placement_data()
- self.assertEqual(Counter(vim_accounts_expected), Counter(nspd['vim_accounts']),
- "vim_accounts incorrect")
+ self.assertEqual(
+ Counter(vim_accounts_expected),
+ Counter(nspd["vim_accounts"]),
+ "vim_accounts incorrect",
+ )
# mock1.assert_called_once() Note for python > 3.5
- self.assertTrue(mock_prd_ns_desc.called, '_produce_ns_desc not called')
+ self.assertTrue(mock_prd_ns_desc.called, "_produce_ns_desc not called")
# mock2.assert_called_once() Note for python > 3.5
- self.assertTrue(mock_prd_vld_desc.called, ' _produce_vld_desc not called')
- mock_prd_trp_link_char.assert_has_calls([call('pil_latency'), call('pil_jitter'), call('pil_price')])
-
- regexps = [r"\{.*\}", r".*'file':.*mznplacement.py", r".*'time':.*datetime.datetime\(.*\)"]
- generator_data = str(nspd['generator_data'])
+ self.assertTrue(mock_prd_vld_desc.called, " _produce_vld_desc not called")
+ mock_prd_trp_link_char.assert_has_calls(
+ [call("pil_latency"), call("pil_jitter"), call("pil_price")]
+ )
+
+ regexps = [
+ r"\{.*\}",
+ r".*'file':.*mznplacement.py",
+ r".*'time':.*datetime.datetime\(.*\)",
+ ]
+ generator_data = str(nspd["generator_data"])
for regex in regexps:
self.assertRegex(generator_data, regex, "generator data invalid")
if __name__ == "__main__":
- if __name__ == '__main__':
+ if __name__ == "__main__":
unittest.main()