Use unittest.mock instead of third party mock
We can now use the standard library mock library instead of the third party one previously needed for py27 compatibility. Change-Id: I18017068324e929c5b8df18ac0c9f9aa6c6328ff Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
This commit is contained in:
parent
85243abf63
commit
f4fc5c80ae
|
@ -12,8 +12,9 @@
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
#
|
#
|
||||||
|
from unittest import mock
|
||||||
|
|
||||||
from futurist import periodics
|
from futurist import periodics
|
||||||
import mock
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
|
|
||||||
from congress.api import base as api_base
|
from congress.api import base as api_base
|
||||||
|
|
|
@ -18,8 +18,8 @@ from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import json
|
import json
|
||||||
|
from unittest import mock
|
||||||
|
|
||||||
import mock
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
import webob
|
import webob
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,8 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
from six.moves import reduce
|
from six.moves import reduce
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,8 @@ from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import copy
|
import copy
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from oslo_utils import uuidutils
|
from oslo_utils import uuidutils
|
||||||
|
|
||||||
from congress.api import error_codes
|
from congress.api import error_codes
|
||||||
|
|
|
@ -16,7 +16,7 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from congress.api import rule_model
|
from congress.api import rule_model
|
||||||
from congress.api import webservice
|
from congress.api import webservice
|
||||||
|
|
|
@ -17,17 +17,12 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
try:
|
import http.client as httplib
|
||||||
# For Python 3
|
|
||||||
import http.client as httplib
|
|
||||||
except ImportError:
|
|
||||||
import httplib
|
|
||||||
import json
|
import json
|
||||||
|
from unittest import mock
|
||||||
import mock
|
|
||||||
import webob
|
|
||||||
|
|
||||||
from oslo_utils import uuidutils
|
from oslo_utils import uuidutils
|
||||||
|
import webob
|
||||||
|
|
||||||
from congress.api import webservice
|
from congress.api import webservice
|
||||||
from congress.tests import base
|
from congress.tests import base
|
||||||
|
|
|
@ -19,9 +19,9 @@ from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
import contextlib
|
import contextlib
|
||||||
import os
|
import os
|
||||||
|
from unittest import mock
|
||||||
|
|
||||||
import fixtures
|
import fixtures
|
||||||
import mock
|
|
||||||
from mox3 import mox
|
from mox3 import mox
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
import six
|
import six
|
||||||
|
|
|
@ -14,10 +14,8 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
#
|
#
|
||||||
|
|
||||||
"""
|
"""Utilities for testing RPC clients."""
|
||||||
Utilities for testing RPC clients.
|
from unittest import mock
|
||||||
"""
|
|
||||||
import mock
|
|
||||||
|
|
||||||
from oslotest import base
|
from oslotest import base
|
||||||
|
|
||||||
|
|
|
@ -15,14 +15,13 @@
|
||||||
#
|
#
|
||||||
"""Tests for the config validator agent."""
|
"""Tests for the config validator agent."""
|
||||||
|
|
||||||
from os import path
|
|
||||||
|
|
||||||
import json
|
import json
|
||||||
import mock
|
from os import path
|
||||||
import six
|
from unittest import mock
|
||||||
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
from oslo_log import log as logging
|
from oslo_log import log as logging
|
||||||
|
import six
|
||||||
|
|
||||||
from congress.cfg_validator.agent import agent
|
from congress.cfg_validator.agent import agent
|
||||||
from congress.cfg_validator.agent import opts
|
from congress.cfg_validator.agent import opts
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
#
|
#
|
||||||
"""Unit test for the marshalling of options"""
|
"""Unit test for the marshalling of options"""
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
from oslo_config import types
|
from oslo_config import types
|
||||||
|
|
|
@ -17,7 +17,7 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
# Sample responses from neutron-client, after parsing
|
# Sample responses from neutron-client, after parsing
|
||||||
network_response = {
|
network_response = {
|
||||||
|
|
|
@ -17,7 +17,7 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from congress.datasources.json_ingester import exec_api
|
from congress.datasources.json_ingester import exec_api
|
||||||
from congress.tests import base
|
from congress.tests import base
|
||||||
|
|
|
@ -17,10 +17,9 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
|
from unittest import mock
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
import mock
|
|
||||||
|
|
||||||
from congress.datasources import datasource_driver
|
from congress.datasources import datasource_driver
|
||||||
from congress.datasources.json_ingester import json_ingester
|
from congress.datasources.json_ingester import json_ingester
|
||||||
from congress import exception
|
from congress import exception
|
||||||
|
|
|
@ -15,7 +15,8 @@
|
||||||
#
|
#
|
||||||
"""Test the configuration validator driver"""
|
"""Test the configuration validator driver"""
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
from oslo_config import types
|
from oslo_config import types
|
||||||
from oslo_log import log as logging
|
from oslo_log import log as logging
|
||||||
|
|
|
@ -18,10 +18,10 @@ from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
from unittest import mock
|
||||||
|
|
||||||
# NOTE(arosen): done to avoid the fact that cloudfoundryclient
|
# NOTE(arosen): done to avoid the fact that cloudfoundryclient
|
||||||
# isn't in the openstack global requirements.
|
# isn't in the openstack global requirements.
|
||||||
import mock
|
|
||||||
sys.modules['cloudfoundryclient.v2.client'] = mock.Mock()
|
sys.modules['cloudfoundryclient.v2.client'] = mock.Mock()
|
||||||
sys.modules['cloudfoundryclient.v2'] = mock.Mock()
|
sys.modules['cloudfoundryclient.v2'] = mock.Mock()
|
||||||
sys.modules['cloudfoundryclient'] = mock.Mock()
|
sys.modules['cloudfoundryclient'] = mock.Mock()
|
||||||
|
|
|
@ -19,9 +19,9 @@ from __future__ import absolute_import
|
||||||
import copy
|
import copy
|
||||||
import hashlib
|
import hashlib
|
||||||
import json
|
import json
|
||||||
|
from unittest import mock
|
||||||
|
|
||||||
import eventlet
|
import eventlet
|
||||||
import mock
|
|
||||||
from oslo_utils import uuidutils
|
from oslo_utils import uuidutils
|
||||||
|
|
||||||
from congress import data_types
|
from congress import data_types
|
||||||
|
|
|
@ -17,7 +17,7 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from congress.datasources import doctor_driver
|
from congress.datasources import doctor_driver
|
||||||
from congress.tests import base
|
from congress.tests import base
|
||||||
|
|
|
@ -17,7 +17,7 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from congress.datasources import glancev2_driver
|
from congress.datasources import glancev2_driver
|
||||||
from congress.tests import base
|
from congress.tests import base
|
||||||
|
|
|
@ -17,7 +17,7 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from heatclient.v1 import events
|
from heatclient.v1 import events
|
||||||
from heatclient.v1 import resources
|
from heatclient.v1 import resources
|
||||||
|
|
|
@ -17,11 +17,12 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
|
from unittest import mock
|
||||||
|
|
||||||
import ironicclient.v1.chassis as IrChassis
|
import ironicclient.v1.chassis as IrChassis
|
||||||
import ironicclient.v1.driver as IrDriver
|
import ironicclient.v1.driver as IrDriver
|
||||||
import ironicclient.v1.node as IrNode
|
import ironicclient.v1.node as IrNode
|
||||||
import ironicclient.v1.port as IrPort
|
import ironicclient.v1.port as IrPort
|
||||||
import mock
|
|
||||||
|
|
||||||
from congress.datasources import ironic_driver
|
from congress.datasources import ironic_driver
|
||||||
from congress.tests import base
|
from congress.tests import base
|
||||||
|
|
|
@ -17,7 +17,7 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from congress.datasources import keystone_driver
|
from congress.datasources import keystone_driver
|
||||||
from congress.tests import base
|
from congress.tests import base
|
||||||
|
|
|
@ -17,7 +17,7 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from congress.datasources import keystonev3_driver
|
from congress.datasources import keystonev3_driver
|
||||||
from congress.tests import base
|
from congress.tests import base
|
||||||
|
|
|
@ -16,8 +16,8 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
|
||||||
import sys
|
import sys
|
||||||
|
from unittest import mock
|
||||||
|
|
||||||
sys.modules['mistralclient.api.v2.client'] = mock.Mock()
|
sys.modules['mistralclient.api.v2.client'] = mock.Mock()
|
||||||
sys.modules['mistralclient.api.v2'] = mock.Mock()
|
sys.modules['mistralclient.api.v2'] = mock.Mock()
|
||||||
|
|
|
@ -14,9 +14,9 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
import copy
|
import copy
|
||||||
import mock
|
|
||||||
import sys
|
import sys
|
||||||
import time
|
import time
|
||||||
|
from unittest import mock
|
||||||
|
|
||||||
sys.modules['monascaclient.client'] = mock.Mock()
|
sys.modules['monascaclient.client'] = mock.Mock()
|
||||||
sys.modules['monascaclient'] = mock.Mock()
|
sys.modules['monascaclient'] = mock.Mock()
|
||||||
|
|
|
@ -16,7 +16,7 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
# mocking muranoclient so that python-muranoclient
|
# mocking muranoclient so that python-muranoclient
|
||||||
# doesn't need to be included in requirements.txt.
|
# doesn't need to be included in requirements.txt.
|
||||||
|
|
|
@ -17,7 +17,7 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from congress.datasources import neutronv2_driver
|
from congress.datasources import neutronv2_driver
|
||||||
from congress.tests import base
|
from congress.tests import base
|
||||||
|
|
|
@ -17,7 +17,7 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from congress.datasources import neutronv2_qos_driver
|
from congress.datasources import neutronv2_qos_driver
|
||||||
from congress.tests import base
|
from congress.tests import base
|
||||||
|
|
|
@ -17,7 +17,8 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
import novaclient
|
import novaclient
|
||||||
|
|
||||||
from congress.datasources import nova_driver
|
from congress.datasources import nova_driver
|
||||||
|
|
|
@ -17,7 +17,7 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from congress.datasources import swift_driver
|
from congress.datasources import swift_driver
|
||||||
from congress.tests import base
|
from congress.tests import base
|
||||||
|
|
|
@ -17,7 +17,7 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from congress.datasources import tacker_driver
|
from congress.datasources import tacker_driver
|
||||||
from congress.tests import base
|
from congress.tests import base
|
||||||
|
|
|
@ -18,7 +18,7 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from congress.datasources import vCenter_driver
|
from congress.datasources import vCenter_driver
|
||||||
from congress.tests import base
|
from congress.tests import base
|
||||||
|
|
|
@ -19,8 +19,8 @@ from __future__ import absolute_import
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
import mock
|
|
||||||
import time
|
import time
|
||||||
|
from unittest import mock
|
||||||
|
|
||||||
from congress.datasources import vitrage_driver
|
from congress.datasources import vitrage_driver
|
||||||
from congress.tests import base
|
from congress.tests import base
|
||||||
|
|
|
@ -17,7 +17,8 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from oslo_db import exception as db_exc
|
from oslo_db import exception as db_exc
|
||||||
import testtools
|
import testtools
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,8 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
import json
|
import json
|
||||||
import mock
|
|
||||||
import time
|
import time
|
||||||
|
from unittest import mock
|
||||||
|
|
||||||
from congress.dse2 import data_service
|
from congress.dse2 import data_service
|
||||||
from congress.tests import base
|
from congress.tests import base
|
||||||
|
|
|
@ -17,7 +17,8 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from oslo_db import exception as db_exc
|
from oslo_db import exception as db_exc
|
||||||
|
|
||||||
from congress.db import datasources as datasource_db
|
from congress.db import datasources as datasource_db
|
||||||
|
|
|
@ -13,9 +13,8 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
#
|
#
|
||||||
|
|
||||||
import mock
|
|
||||||
import tenacity
|
|
||||||
import time
|
import time
|
||||||
|
from unittest import mock
|
||||||
|
|
||||||
# Note(ekcs): this is needed for direct unit test because Dse2Runtime import,
|
# Note(ekcs): this is needed for direct unit test because Dse2Runtime import,
|
||||||
# which takes place before the confFixture is setup, fails w/o it
|
# which takes place before the confFixture is setup, fails w/o it
|
||||||
|
@ -23,6 +22,7 @@ from novaclient import client as nova_client
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
cfg.CONF.datasource_sync_period = 0
|
cfg.CONF.datasource_sync_period = 0
|
||||||
from oslo_messaging import conffixture
|
from oslo_messaging import conffixture
|
||||||
|
import tenacity
|
||||||
|
|
||||||
from congress.api import base as api_base
|
from congress.api import base as api_base
|
||||||
from congress.datalog import base as datalog_base
|
from congress.datalog import base as datalog_base
|
||||||
|
|
|
@ -13,17 +13,16 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
#
|
#
|
||||||
|
|
||||||
import eventlet
|
from unittest import mock
|
||||||
import mock
|
|
||||||
|
|
||||||
|
import eventlet
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
from oslo_messaging import conffixture
|
from oslo_messaging import conffixture
|
||||||
|
|
||||||
from congress import exception
|
|
||||||
|
|
||||||
from congress.dse2 import data_service
|
from congress.dse2 import data_service
|
||||||
from congress.dse2 import datasource_manager as ds_manager
|
from congress.dse2 import datasource_manager as ds_manager
|
||||||
from congress.dse2 import dse_node
|
from congress.dse2 import dse_node
|
||||||
|
from congress import exception
|
||||||
from congress.tests.api import base as api_base
|
from congress.tests.api import base as api_base
|
||||||
from congress.tests import base
|
from congress.tests import base
|
||||||
from congress.tests import helper
|
from congress.tests import helper
|
||||||
|
|
|
@ -17,7 +17,8 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from oslo_log import log as logging
|
from oslo_log import log as logging
|
||||||
|
|
||||||
from congress.datasources import datasource_driver
|
from congress.datasources import datasource_driver
|
||||||
|
|
Binary file not shown.
|
@ -17,7 +17,8 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
from oslo_log import log as logging
|
from oslo_log import log as logging
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
from unittest import mock
|
||||||
import mock
|
|
||||||
|
|
||||||
from congress.api import base as api_base
|
from congress.api import base as api_base
|
||||||
from congress.policy_engines import agnostic
|
from congress.policy_engines import agnostic
|
||||||
|
|
|
@ -23,7 +23,8 @@ from __future__ import print_function
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
import neutronclient.v2_0
|
import neutronclient.v2_0
|
||||||
from oslo_log import log as logging
|
from oslo_log import log as logging
|
||||||
|
|
||||||
|
|
|
@ -18,8 +18,8 @@ from __future__ import division
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
import socket
|
import socket
|
||||||
|
from unittest import mock
|
||||||
|
|
||||||
import mock
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
import testtools
|
import testtools
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,8 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
"""Unit tests for z3theory"""
|
"""Unit tests for z3theory"""
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
import six
|
import six
|
||||||
|
|
||||||
from congress import data_types
|
from congress import data_types
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
"""Unit tests for z3types"""
|
"""Unit tests for z3types"""
|
||||||
import mock
|
from unittest import mock
|
||||||
|
|
||||||
from congress import data_types
|
from congress import data_types
|
||||||
from congress import exception
|
from congress import exception
|
||||||
|
|
Loading…
Reference in New Issue