def test_exc(): '''Tests that a command which does raise an exception does report an exception. ''' args = [util.which('dcos')] env = _env_reporting() with patch('sys.argv', args), \ patch.dict(os.environ, env), \ patch('dcoscli.analytics._wait_and_capture', return_value=(1, 'Traceback')): assert main() == 1 # segment.io props = _base_properties() props['err'] = 'Traceback' props['exit_code'] = 1 data = {'userId': USER_ID, 'event': SEGMENT_IO_CLI_ERROR_EVENT, 'properties': props} assert mock_called_some_args(requests.post, '{}/track'.format(SEGMENT_URL), json=data, timeout=1) # rollbar props = _base_properties() props['exit_code'] = 1 props['stderr'] = 'Traceback' rollbar.report_message.assert_called_with('Traceback', 'error', extra_data=props)
def test_exc(): '''Tests that a command which does raise an exception does report an exception. ''' args = [util.which('dcos')] env = _env_reporting() version = 'release' with patch('sys.argv', args), \ patch('dcoscli.version', version), \ patch.dict(os.environ, env), \ patch('dcoscli.analytics.wait_and_capture', return_value=(1, 'Traceback')): assert main() == 1 # segment.io props = _base_properties() props['err'] = 'Traceback' props['exit_code'] = 1 data = {'userId': USER_ID, 'event': SEGMENT_IO_CLI_ERROR_EVENT, 'properties': props} assert mock_called_some_args(http.post, '{}/track'.format(SEGMENT_URL), json=data, timeout=(1, 1)) # rollbar props = _base_properties() props['exit_code'] = 1 props['stderr'] = 'Traceback' rollbar.report_message.assert_called_with('Traceback', 'error', extra_data=props)
def test_no_exc(): '''Tests that a command which does not raise an exception does not report an exception. ''' args = [util.which('dcos')] env = _env_reporting() version = 'release' with patch('sys.argv', args), \ patch.dict(os.environ, env), \ patch('dcoscli.version', version): assert main() == 0 # segment.io data = { 'userId': USER_ID, 'event': SEGMENT_IO_CLI_EVENT, 'properties': _base_properties() } assert mock_called_some_args(http.post, '{}/track'.format(SEGMENT_URL), json=data, timeout=(1, 1)) # rollbar assert rollbar.report_message.call_count == 0
def test_no_exc(): '''Tests that a command which does not raise an exception does not report an exception. ''' args = [util.which('dcos')] env = _env_reporting() version = 'release' with patch('sys.argv', args), \ patch.dict(os.environ, env), \ patch('dcoscli.version', version): assert main() == 0 # segment.io data = {'userId': USER_ID, 'event': SEGMENT_IO_CLI_EVENT, 'properties': _base_properties()} assert mock_called_some_args(http.post, '{}/track'.format(SEGMENT_URL), json=data, timeout=(1, 1)) # rollbar assert rollbar.report_message.call_count == 0
def test_cluster_id_sent(): '''Tests that cluster_id is sent to segment.io''' args = [util.which('dcos')] env = _env_reporting_with_url() version = 'release' with patch('sys.argv', args), \ patch.dict(os.environ, env), \ patch('dcoscli.version', version): assert main() == 0 props = _base_properties() # segment.io data = {'userId': USER_ID, 'event': SEGMENT_IO_CLI_EVENT, 'properties': props} assert props.get('CLUSTER_ID') assert mock_called_some_args(http.post, '{}/track'.format(SEGMENT_URL), json=data, timeout=(1, 1))
def test_cluster_id_sent(): '''Tests that cluster_id is sent to segment.io''' args = [util.which('dcos')] env = _env_reporting_with_url() version = 'release' with patch('sys.argv', args), \ patch.dict(os.environ, env), \ patch('dcoscli.version', version): assert main() == 0 props = _base_properties() # segment.io data = { 'userId': USER_ID, 'event': SEGMENT_IO_CLI_EVENT, 'properties': props } assert props.get('CLUSTER_ID') assert mock_called_some_args(http.post, '{}/track'.format(SEGMENT_URL), json=data, timeout=(1, 1))