| OLD | NEW |
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 from datetime import datetime | 5 from datetime import datetime |
| 6 import hashlib |
| 7 import json |
| 8 |
| 9 from google.appengine.ext import ndb |
| 6 | 10 |
| 7 from crash.test.crash_testcase import CrashTestCase | 11 from crash.test.crash_testcase import CrashTestCase |
| 8 from model import analysis_status | 12 from model import analysis_status |
| 9 from model import result_status | 13 from model import result_status |
| 10 from model.crash.fracas_crash_analysis import FracasCrashAnalysis | 14 from model.crash.chrome_crash_analysis import ChromeCrashAnalysis |
| 11 | 15 |
| 12 | 16 |
| 13 class FracasCrashAnalysisTest(CrashTestCase): | 17 class _MockChromeCrashAnalysis(ChromeCrashAnalysis): |
| 18 """Mock ChromeCrashAnalysis class for testing purpose.""" |
| 19 |
| 20 @staticmethod |
| 21 def _CreateKey(crash_identifiers): |
| 22 return ndb.Key('_MockChromeCrashAnalysis', hashlib.sha1( |
| 23 json.dumps(crash_identifiers, sort_keys=True)).hexdigest()) |
| 24 |
| 25 |
| 26 class ChromeCrashAnalysisTest(CrashTestCase): |
| 14 | 27 |
| 15 def testDoNotUseIdentifiersToSetProperties(self): | 28 def testDoNotUseIdentifiersToSetProperties(self): |
| 16 crash_identifiers = { | 29 crash_identifiers = { |
| 17 'chrome_version': '1', | 30 'chrome_version': '1', |
| 18 'signature': 'signature/here', | 31 'signature': 'signature/here', |
| 19 'channel': 'canary', | 32 'channel': 'canary', |
| 20 'platform': 'win', | 33 'platform': 'win', |
| 21 'process_type': 'browser', | 34 'process_type': 'browser', |
| 22 } | 35 } |
| 23 FracasCrashAnalysis.Create(crash_identifiers).put() | 36 _MockChromeCrashAnalysis.Create(crash_identifiers).put() |
| 24 analysis = FracasCrashAnalysis.Get(crash_identifiers) | 37 analysis = _MockChromeCrashAnalysis.Get(crash_identifiers) |
| 25 self.assertIsNone(analysis.crashed_version) | 38 self.assertIsNone(analysis.crashed_version) |
| 26 self.assertIsNone(analysis.signature) | 39 self.assertIsNone(analysis.signature) |
| 27 self.assertIsNone(analysis.channel) | 40 self.assertIsNone(analysis.channel) |
| 28 self.assertIsNone(analysis.platform) | 41 self.assertIsNone(analysis.platform) |
| 29 | 42 |
| 30 def testFracasCrashAnalysisReset(self): | 43 def testChromeCrashAnalysisReset(self): |
| 31 analysis = FracasCrashAnalysis() | 44 analysis = ChromeCrashAnalysis() |
| 32 analysis.historical_metadata = {} | 45 analysis.historical_metadata = {} |
| 33 analysis.Reset() | 46 analysis.Reset() |
| 34 self.assertIsNone(analysis.channel) | 47 self.assertIsNone(analysis.channel) |
| 35 self.assertIsNone(analysis.historical_metadata) | 48 self.assertIsNone(analysis.historical_metadata) |
| OLD | NEW |