old_contents: # -*- coding: utf-8 -*-
  # Copyright 2016 Red Hat, Inc.
  # All Rights Reserved.
  #
  #    Licensed under the Apache License, Version 2.0 (the "License"); you may
  #    not use this file except in compliance with the License. You may obtain
  #    a copy of the License at
  #
  #         http://www.apache.org/licenses/LICENSE-2.0
  #
  #    Unless required by applicable law or agreed to in writing, software
  #    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  #    License for the specific language governing permissions and limitations
  #    under the License.
  
  from tempest.api.volume import base as volume_base
  from tempest.common import waiters
  from tempest import config
  from tempest.lib.common.utils import data_utils
  
  CONF = config.CONF
  
  
  class CinderUnicodeTest(volume_base.BaseVolumeTest):
  
      @classmethod
      def resource_setup(cls):
          super(CinderUnicodeTest, cls).resource_setup()
  
          # Stick to three-byte unicode here, since four+ byte
          # chars require utf8mb4 database support which may not
          # be configured.
          cls.volume_name = u"CinderUnicodeTest塵㼗‽"
          cls.volume = cls.create_volume_with_args(name=cls.volume_name)
  
      @classmethod
      def create_volume_with_args(cls, **kwargs):
          if 'name' not in kwargs:
              kwargs['name'] = data_utils.rand_name('Volume')
  
          kwargs['size'] = CONF.volume.volume_size
  
          volume = cls.volumes_client.create_volume(**kwargs)['volume']
          cls.volumes.append(volume)
  
          waiters.wait_for_volume_resource_status(cls.volumes_client,
                                                  volume['id'],
                                                  'available')
  
          return volume
  
      def test_create_delete_unicode_volume_name(self):
          """Create a volume with a unicode name and view it."""
  
          result = self.volumes_client.show_volume(self.volumes[0]['id'])
          fetched_volume = result['volume']
          self.assertEqual(fetched_volume['name'],
                           self.volume_name)
  
new_contents: # -*- coding: utf-8 -*-
  # Copyright 2016 Red Hat, Inc.
  # All Rights Reserved.
  #
  #    Licensed under the Apache License, Version 2.0 (the "License"); you may
  #    not use this file except in compliance with the License. You may obtain
  #    a copy of the License at
  #
  #         http://www.apache.org/licenses/LICENSE-2.0
  #
  #    Unless required by applicable law or agreed to in writing, software
  #    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  #    License for the specific language governing permissions and limitations
  #    under the License.
  
  from tempest.api.volume import base as volume_base
  from tempest.common import waiters
  from tempest import config
  from tempest.lib.common.utils import data_utils
  
  CONF = config.CONF
  
  
  class CinderUnicodeTest(volume_base.BaseVolumeTest):
  
      @classmethod
      def resource_setup(cls):
          super(CinderUnicodeTest, cls).resource_setup()
  
          # Stick to three-byte unicode here, since four+ byte
          # chars require utf8mb4 database support which may not
          # be configured.
          cls.volume_name = u"CinderUnicodeTest塵㼗‽"
          cls.volume = cls.create_volume_with_args(name=cls.volume_name)
  
      @classmethod
      def create_volume_with_args(cls, **kwargs):
          if 'name' not in kwargs:
              kwargs['name'] = data_utils.rand_name('Volume')
  
          kwargs['size'] = CONF.volume.volume_size
  
          volume = cls.volumes_client.create_volume(**kwargs)['volume']
          cls.volumes.append(volume)
  
          waiters.wait_for_volume_resource_status(cls.volumes_client,
                                                  volume['id'],
                                                  'available')
  
          return volume
  
      def test_create_delete_unicode_volume_name(self):
          """Create a volume with a unicode name and view it."""
  
          result = self.volumes_client.show_volume(self.volumes[0]['id'])
          fetched_volume = result['volume']
          self.assertEqual(fetched_volume['name'],
                           self.volume_name)
  
      def test_snapshot_create_volume_description_non_ascii_code(self):
          # Create a volume with non-ascii description
          description = u'\u05e7\u05d9\u05d9\u05e4\u05e9'
          volume = self.create_volume(description=description)
          vol_info = self.volumes_client.show_volume(volume['id'])['volume']
          self.assertEqual(description, vol_info['description'])
          snapshot = self.create_snapshot(volume['id'])
          snapshot_info = self.snapshots_client.show_snapshot(
              snapshot['id'])['snapshot']
          self.assertEqual(description, snapshot_info['description'])
  
subject: Add test for volume create with non-ascii characters