Add a functional test proving OS::Heat::None works with validate

Previously the template-validate logic failed when overriding
resources with OS::Heat::None in the resource_registry, despite
this working fine via create/preview.

Since the fix for bug #1467573 has aligned the template-validate
logic with that of create/preview, this should now work.

Change-Id: Id8d0be57d347e7ef6714477747949bd2dadd470c
Closes-Bug: #1495914
diff --git a/functional/test_template_validate.py b/functional/test_template_validate.py
index 91e3e6a..bd5aaca 100644
--- a/functional/test_template_validate.py
+++ b/functional/test_template_validate.py
@@ -88,6 +88,20 @@
                                    'Type': 'Number'}}}
         self.assertEqual(expected, ret)
 
+    def test_template_validate_override_none(self):
+        env = {'resource_registry': {
+               'OS::Heat::RandomString': 'OS::Heat::None'}}
+        ret = self.client.stacks.validate(template=self.random_template,
+                                          environment=env)
+        expected = {'Description': 'the stack description',
+                    'Parameters': {
+                        'aparam': {'Default': 10,
+                                   'Description': 'the param description',
+                                   'Label': 'aparam',
+                                   'NoEcho': 'false',
+                                   'Type': 'Number'}}}
+        self.assertEqual(expected, ret)
+
     def test_template_validate_basic_required_param(self):
         tmpl = self.random_template.replace('default: 10', '')
         ret = self.client.stacks.validate(template=tmpl)