|
25 | 25 | import org.springframework.jdbc.datasource.SingleConnectionDataSource;
|
26 | 26 | import org.utplsql.sqldev.model.DatabaseTools;
|
27 | 27 | import org.utplsql.sqldev.model.SystemTools;
|
| 28 | +import org.utplsql.sqldev.model.preference.PreferenceModel; |
28 | 29 | import org.utplsql.sqldev.runner.UtplsqlRunner;
|
29 | 30 | import org.utplsql.sqldev.test.AbstractJdbcTest;
|
30 | 31 | import org.utplsql.sqldev.test.coverage.CodeCoverageReporterTest;
|
31 | 32 |
|
| 33 | +import oracle.ide.config.Preferences; |
| 34 | + |
32 | 35 | public class UtplsqlRunnerTest extends AbstractJdbcTest {
|
| 36 | + PreferenceModel preferences; |
| 37 | + |
| 38 | + @Before |
| 39 | + public void setupDefaultPreferences() { |
| 40 | + try { |
| 41 | + // first call will fail, second call will succeed (using preferences from user.home) |
| 42 | + preferences = PreferenceModel.getInstance(Preferences.getPreferences()); |
| 43 | + } catch (NoClassDefFoundError e) { |
| 44 | + // running outside of SQL Developer, the following log message is shown: |
| 45 | + // WARNING: No extension registry present. Loading preferences from user.home |
| 46 | + preferences = PreferenceModel.getInstance(null); |
| 47 | + // the second call will call will succeed and use preferences from user.home |
| 48 | + // this ensures that the test and the runner use the same preferences |
| 49 | + preferences = PreferenceModel.getInstance(Preferences.getPreferences()); |
| 50 | + } finally { |
| 51 | + // set defaults manually, since all tests are using the same preference store |
| 52 | + preferences.setShowSuccessfulTests(true); |
| 53 | + preferences.setShowWarningIndicator(false); |
| 54 | + preferences.setShowInfoIndicator(false); |
| 55 | + } |
| 56 | + } |
33 | 57 |
|
34 | 58 | @Before
|
35 | 59 | public void setup() {
|
@@ -158,6 +182,22 @@ public void runTestsWithMaxTime() {
|
158 | 182 | runner.dispose();
|
159 | 183 | }
|
160 | 184 |
|
| 185 | + @Test |
| 186 | + public void runTestsHidingSuccesfulRuns() { |
| 187 | + preferences.setShowSuccessfulTests(false); |
| 188 | + preferences.setShowWarningIndicator(true); |
| 189 | + preferences.setShowInfoIndicator(true); |
| 190 | + UtplsqlRunner runner = new UtplsqlRunner(Collections.singletonList(":a"), getNewConnection(), getNewConnection()); |
| 191 | + runner.runTestAsync(); |
| 192 | + |
| 193 | + SystemTools.waitForThread(runner.getProducerThread(), 200000); |
| 194 | + SystemTools.waitForThread(runner.getConsumerThread(), 200000); |
| 195 | + SystemTools.sleep(4 * 1000); |
| 196 | + Assert.assertNotNull(runner); |
| 197 | + runner.dispose(); |
| 198 | + } |
| 199 | + |
| 200 | + |
161 | 201 | @Test
|
162 | 202 | public void runTestsWithCodeCoverage() {
|
163 | 203 | UtplsqlRunner runner = new UtplsqlRunner(Collections.singletonList(":test_f"), null, null, null, getNewConnection(), getNewConnection());
|
|
0 commit comments