package Ġs ny k . error Handler Ċ Ċ import Ġcom . intellij . openapi . application . Application Ċ import Ġcom . intellij . openapi . application . Application Manager Ċ import Ġio . mock k . clear All Mocks Ċ import Ġio . mock k . every Ċ import Ġio . mock k . mock k Ċ import Ġio . mock k . mock k Static Ċ import Ġio . mock k . verify Ċ import Ġio . sentry . S entry Ċ import Ġio . sentry . protocol . S entry Id Ċ import Ġio . sn yk . plugin . plugin Settings Ċ import Ġio . sn yk . plugin . services . S ny k Application Settings State Service Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġs ny k . Plugin Information Ċ import Ġs ny k . plugin Info Ċ Ċ class ĠS entry Error Reporter Test Ġ{ ĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġclear All Mocks () ĊĠĠĠĠĠĠĠ Ġmock k Static ( S entry :: class ) ĊĠĠĠĠĠĠĠ Ġ// Ġnever Ġsend Ġto ĠS entry ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠS entry . capture Exception ( any ()) Ġ} Ġreturns ĠS entry Id () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġfun ĠtearDown () Ġ{ ĊĠĠĠĠĠĠĠ Ġclear All Mocks () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` capture Exception Ġshould Ġsend Ġexceptions Ġto ĠS entry Ġwhen Ġcrash Reporting Enabled Ġis Ġtrue `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsettings Ġ= Ġmock Plugin Information () ĊĠĠĠĠĠĠĠ Ġset Unit Testing ( false ) ĊĠĠĠĠĠĠĠ Ġsettings . crash Reporting Enabled Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ ĠS entry Error Reporter . capture Exception ( RuntimeException (" test ")) ĊĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 1 ) Ġ{ ĠS entry . capture Exception ( any ()) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` capture Exception Ġshould Ġnot Ġsend Ġexceptions Ġto ĠS entry Ġwhen Ġcrash Reporting Enabled Ġis Ġfalse `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsettings Ġ= Ġmock Plugin Information () ĊĠĠĠĠĠĠĠ Ġset Unit Testing ( false ) ĊĠĠĠĠĠĠĠ Ġsettings . crash Reporting Enabled Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġval Ġe Ġ= ĠRuntimeException (" test ") ĊĠĠĠĠĠĠĠ ĠS entry Error Reporter . capture Exception ( e ) ĊĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 0 ) Ġ{ ĠS entry . capture Exception ( any ()) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` capture Exception Ġshould Ġnot Ġsend Ġexceptions Ġto ĠS entry Ġwhen Ġtesting Ġdetected `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsettings Ġ= Ġmock Plugin Information () ĊĠĠĠĠĠĠĠ Ġsettings . crash Reporting Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġset Unit Testing ( true ) ĊĠĠĠĠĠĠĠ ĠS entry Error Reporter . capture Exception ( RuntimeException (" test ")) ĊĊĠĠĠĠĠĠĠ Ġverify ( exact ly Ġ= Ġ 0 ) Ġ{ ĠS entry . capture Exception ( any ()) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmock Plugin Information (): ĠS ny k Application Settings State Service Ġ{ ĊĠĠĠĠĠĠĠ Ġmock k Static (" io . sn yk . plugin . Utils Kt ") ĊĠĠĠĠĠĠĠ Ġval Ġsettings Ġ= ĠS ny k Application Settings State Service () ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġplugin Settings () Ġ} Ġreturns Ġsettings ĊĊĠĠĠĠĠĠĠ Ġmock k Static (" sn yk . Plugin Information Kt ") ĊĠĠĠĠĠĠĠ Ġval Ġplugin Information Ġ= ĠPlugin Information ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" test Integration Name ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" test Integration Version ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" test Integration Environment ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" test Integration Environment Version " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġplugin Info Ġ} Ġreturns Ġplugin Information ĊĠĠĠĠĠĠĠ Ġreturn Ġsettings ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Unit Testing ( boolean : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmock k Static ( Application Manager :: class ) ĊĠĠĠĠĠĠĠ Ġval Ġapplication Mock Ġ= Ġmock k < Application >() ĊĠĠĠĠĠĠĠ Ġevery Ġ{ ĠApplication Manager . getApplication () Ġ} Ġreturns Ġapplication Mock ĊĠĠĠĠĠĠĠ Ġevery Ġ{ Ġapplication Mock . is UnitTest Mode Ġ} Ġreturns Ġboolean ĊĠĠĠ Ġ} Ċ } Ċ