aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorRicardo Noriega <ricardo.noriega.de.soto@ericsson.com>2016-01-19 17:41:22 +0100
committerJörgen Karlsson <jorgen.w.karlsson@ericsson.com>2016-01-29 18:32:16 +0000
commite2e235affd2a7d46d2fa61817906034ec4be1a40 (patch)
tree436c1b405cf1a8276135441c4f2da20d87ad04bf /tests
parent89b5ed4a164519a159f05887371469f8ea2a6a91 (diff)
Service Function Chaining test cases
Change-Id: Id4c8b1bc05e768bdb2b8f17798f13f4d83dcd9d6 Signed-off-by: Ricardo Noriega <ricardo.noriega.de.soto@ericsson.com> (cherry picked from commit 805aaa50d226e8c91b69af0252aef68eda1551c3)
Diffstat (limited to 'tests')
-rw-r--r--tests/sfc/sfc_TC02.yaml36
-rw-r--r--tests/unit/benchmark/scenarios/networking/test_sfc.py55
2 files changed, 91 insertions, 0 deletions
diff --git a/tests/sfc/sfc_TC02.yaml b/tests/sfc/sfc_TC02.yaml
new file mode 100644
index 000000000..85e6eeb52
--- /dev/null
+++ b/tests/sfc/sfc_TC02.yaml
@@ -0,0 +1,36 @@
+#SFC test case using Tacker as Orchestrator and Netvirt as classifier
+
+schema: "yardstick:task:0.1"
+
+scenarios:
+-
+ type: sfc
+
+ host: http_client.sfc
+ target: http_server.sfc
+
+ runner:
+ type: Iteration
+ iterations: 1
+ interval: 1
+
+contexts:
+-
+ name: sfc
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+ servers:
+ http_client:
+ flavor: m1.tiny
+ image: cirros-0.3.3
+ floating_ip: true
+ placement: "pgrp1"
+ http_server:
+ flavor: sfc_custom
+ image: sfc
+ floating_ip: true
+ placement: "pgrp1"
+ networks:
+ net_mgmt:
+ cidr: '11.0.0.0/24'
diff --git a/tests/unit/benchmark/scenarios/networking/test_sfc.py b/tests/unit/benchmark/scenarios/networking/test_sfc.py
new file mode 100644
index 000000000..adce0824a
--- /dev/null
+++ b/tests/unit/benchmark/scenarios/networking/test_sfc.py
@@ -0,0 +1,55 @@
+#!/usr/bin/env python
+
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# Unittest for yardstick.benchmark.scenarios.networking.sfc
+
+import mock
+import unittest
+
+from yardstick.benchmark.scenarios.networking import sfc
+
+
+class SfcTestCase(unittest.TestCase):
+
+ def setUp(self):
+ scenario_cfg = dict()
+ context_cfg = dict()
+
+ # Used in Sfc.setup()
+ context_cfg['target'] = dict()
+ context_cfg['target']['user'] = 'root'
+ context_cfg['target']['password'] = 'octopus'
+ context_cfg['target']['ip'] = None
+
+ # Used in Sfc.run()
+ context_cfg['host'] = dict()
+ context_cfg['host']['user'] = 'cirros'
+ context_cfg['host']['password'] = 'cubslose:)'
+ context_cfg['host']['ip'] = None
+ context_cfg['target'] = dict()
+ context_cfg['target']['ip'] = None
+
+ self.sfc = sfc.Sfc(scenario_cfg=scenario_cfg, context_cfg=context_cfg)
+
+ @mock.patch('yardstick.benchmark.scenarios.networking.sfc.ssh')
+ def test_run_for_success(self, mock_ssh):
+ # Mock a successfull SSH in Sfc.setup() and Sfc.run()
+ mock_ssh.SSH().execute.return_value = (0, '100', '')
+
+ result = {}
+ self.sfc.run(result)
+
+
+def main():
+ unittest.main()
+
+if __name__ == '__main__':
+ main()