class_docstr: Test class for AppConfig
class_docstr_tok: ["Test","class","for","AppConfig"]
docstr: AppConfig - Suppress Save State on No Change
docstr_tok: ["AppConfig","-","Suppress","Save","State","on","No","Change"]
code: def test_suppress_state_save_no_change(self, save_mock):
      """AppConfig - Suppress Save State on No Change"""
      # Try to mark with success more than once
      self._config.mark_running()
      self._config.mark_running()
  
      save_mock.assert_called_once()
  
imports: import json
  import os
  import boto3
  from botocore.exceptions import ClientError
  from mock import patch
  from moto import mock_ssm
  from nose.tools import assert_equal, assert_false, assert_true, assert_dict_equal, raises
  from streamalert.apps.config import AppConfig
  from streamalert.apps.exceptions import AppAuthError, AppConfigError, AppStateError
  from tests.unit.streamalert.apps.test_helpers import get_event, put_mock_params
  from tests.unit.streamalert.shared.test_config import get_mock_lambda_context
label_desc: Use image node_id 17 for calling the TestAppConfig obj's underlying member method code with example usage: obj.test_suppress_state_save_no_change(save_mock) without return types