Add network unittests
diff --git a/gstack/controllers/networks.py b/gstack/controllers/networks.py
index df69812..7fba7ab 100644
--- a/gstack/controllers/networks.py
+++ b/gstack/controllers/networks.py
@@ -49,8 +49,7 @@
 
     if securitygroup_list['listsecuritygroupsresponse']:
         response = helper.filter_by_name(
-            data=securitygroup_list[
-                'listsecuritygroupsresponse']['securitygroup'],
+            data=securitygroup_list['listsecuritygroupsresponse']['securitygroup'],
             name=securitygroup
         )
         return response
@@ -62,6 +61,7 @@
     command = 'createSecurityGroup'
     if not args:
         args = {}
+
     cloudstack_response = requester.make_request(
         command,
         args,
@@ -123,8 +123,7 @@
     return populated_response
 
 
-@app.route(
-    '/compute/v1/projects/<projectid>/global/networks', methods=['GET'])
+@app.route('/compute/v1/projects/<projectid>/global/networks', methods=['GET'])
 @authentication.required
 def listnetworks(projectid, authorization):
     securitygroup_list = _get_networks(
@@ -185,7 +184,7 @@
             'error': {
                 'errors': [{
                     'code': 'RESOURCE_ALREADY_EXISTS',
-                    'message': 'the resource \'projects/\'' + projectid + '/global/networks/' + args['name']
+                    'message': 'The resource \'projects/\'' + projectid + '/global/networks/' + args['name']
                 }]
             }
         }
diff --git a/tests/data/valid_describe_instance.json b/tests/data/valid_describe_instance.json
index 8415635..1ba1540 100644
--- a/tests/data/valid_describe_instance.json
+++ b/tests/data/valid_describe_instance.json
@@ -1,6 +1,6 @@
 {
     "listvirtualmachinesresponse": {
-        "count": 2,
+        "count": 1,
         "virtualmachine": [
             {
                 "domain": "ROOT",
diff --git a/tests/data/valid_describe_security_group.json b/tests/data/valid_describe_security_group.json
new file mode 100644
index 0000000..7e95b07
--- /dev/null
+++ b/tests/data/valid_describe_security_group.json
@@ -0,0 +1,40 @@
+{
+    "listsecuritygroupsresponse": {
+        "count": 1,
+        "securitygroup": [
+            {
+                "egressrule": [],
+                "account": "example-account",
+                "domainid": "66d69e46-a95b-437b-ac6c-bcaa5331999d",
+                "description": "Default Security Group",
+                "tags": [],
+                "domain": "example-account",
+                "ingressrule": [
+                    {
+                        "protocol": "tcp",
+                        "cidr": "0.0.0.0/0",
+                        "startport": 22,
+                        "endport": 22,
+                        "ruleid": "3d92cc70-8c84-4e8a-9989-6efcd7ff7905"
+                    },
+                    {
+                        "protocol": "icmp",
+                        "cidr": "0.0.0.0/0",
+                        "ruleid": "2ba7dd7b-13b2-49ae-bf8e-26ffadd32c9e",
+                        "icmpcode": 0,
+                        "icmptype": 0
+                    },
+                    {
+                        "protocol": "tcp",
+                        "cidr": "0.0.0.0/0",
+                        "startport": 8080,
+                        "endport": 8080,
+                        "ruleid": "c4562b3c-d1b0-4844-a771-3c3434e1a5d0"
+                    }
+                ],
+                "id": "1f95ee9b-b291-48c1-9492-0eee632677e3",
+                "name": "networkname"
+            }
+        ]
+    }
+}
diff --git a/tests/networks_tests.py b/tests/networks_tests.py
new file mode 100644
index 0000000..2f2f533
--- /dev/null
+++ b/tests/networks_tests.py
@@ -0,0 +1,47 @@
+#!/usr/bin/env python
+# encoding: utf-8
+
+import mock
+
+from gstack.helpers import read_file
+from . import GStackAppTestCase
+
+class NetworksTestCase(GStackAppTestCase):
+
+    def test_list_networks(self):
+
+        get = mock.Mock()
+        get.return_value.text = read_file('tests/data/valid_describe_security_groups.json')
+        get.return_value.status_code = 200
+
+        with mock.patch('requests.get', get):
+            headers = {'authorization': 'Bearer ' + str(GStackAppTestCase.access_token)}
+            response = self.get('/compute/v1/projects/exampleproject/global/networks', headers=headers)
+
+        self.assert_ok(response)
+
+    def test_get_network(self):
+
+        get = mock.Mock()
+        get.return_value.text = read_file('tests/data/valid_describe_security_group.json')
+        get.return_value.status_code = 200
+
+        with mock.patch('requests.get', get):
+            headers = {'authorization': 'Bearer ' + str(GStackAppTestCase.access_token)}
+            response = self.get('/compute/v1/projects/exampleproject/global/networks/networkname', headers=headers)
+
+        self.assert_ok(response)
+
+    def test_get_network_network_not_found(self):
+
+        get = mock.Mock()
+        get.return_value.text = read_file('tests/data/empty_describe_security_groups.json')
+        get.return_value.status_code = 200
+
+        with mock.patch('requests.get', get):
+            headers = {'authorization': 'Bearer ' + str(GStackAppTestCase.access_token)}
+            response = self.get('/compute/v1/projects/exampleproject/global/networks/networkname', headers=headers)
+
+        self.assert_not_found(response)
+        assert 'The resource \'/compute/v1/projects/exampleproject/global/networks/networkname\'' \
+                in response.data