Skip to content

Commit 22d19d3

Browse files
authored
Merge pull request #5 from snabble/feature/robolectric
Migrate tests to robolectric
2 parents 87338bd + 89374ca commit 22d19d3

23 files changed

+110
-91
lines changed

.github/workflows/build.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,9 @@ jobs:
1212

1313
steps:
1414
- uses: actions/checkout@v2
15-
- name: Set up JDK 1.8
15+
- name: Set up JDK 12
1616
uses: actions/setup-java@v1
1717
with:
18-
java-version: 1.8
19-
- name: Grant execute permission for gradlew
20-
run: chmod +x gradlew
18+
java-version: 12
2119
- name: Build
2220
run: ./gradlew build

.github/workflows/publish.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,10 @@ jobs:
1010

1111
steps:
1212
- uses: actions/checkout@v2
13-
- name: Set up JDK 1.8
13+
- name: Set up JDK 12
1414
uses: actions/setup-java@v1
1515
with:
16-
java-version: 1.8
17-
- name: Grant execute permission for gradlew
18-
run: chmod +x gradlew
16+
java-version: 12
1917
- name: Build
2018
run: ./gradlew build
2119
- name: Publish to Maven Repository

core/build.gradle

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,20 @@ android {
4040
freeCompilerArgs = ["-Xjvm-default=all"]
4141
jvmTarget = "1.8"
4242
}
43+
44+
testOptions {
45+
unitTests {
46+
includeAndroidResources = true
47+
}
48+
}
4349
}
4450

4551
dependencies {
4652
coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:${project.desugarVersion}"
4753

4854
implementation project(':utils')
4955

50-
implementation 'androidx.appcompat:appcompat:1.2.0'
56+
implementation 'androidx.appcompat:appcompat:1.3.0'
5157
implementation 'commons-io:commons-io:2.5'
5258
implementation 'org.apache.commons:commons-lang3:3.8.1'
5359
implementation 'org.iban4j:iban4j:3.2.1'
@@ -58,7 +64,9 @@ dependencies {
5864
api "com.squareup.okhttp3:okhttp:${project.okhttpVersion}"
5965
api 'com.google.code.gson:gson:2.8.6'
6066

61-
testImplementation 'junit:junit:4.13'
67+
testImplementation 'junit:junit:4.13.2'
68+
testImplementation 'org.robolectric:robolectric:4.5.1'
69+
testImplementation "com.squareup.okhttp3:mockwebserver:${project.okhttpVersion}"
6270

6371
androidTestImplementation 'androidx.test:rules:1.3.0'
6472
androidTestImplementation 'androidx.test:runner:1.3.0'

core/src/androidTest/java/io/snabble/sdk/CodeTemplateTest.java renamed to core/src/test/java/io/snabble/sdk/CodeTemplateTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,15 @@
22

33
import org.junit.Assert;
44
import org.junit.Test;
5+
import org.junit.runner.RunWith;
6+
import org.robolectric.RobolectricTestRunner;
57

68
import java.math.BigDecimal;
79

810
import io.snabble.sdk.codes.ScannedCode;
911
import io.snabble.sdk.codes.templates.CodeTemplate;
1012

13+
@RunWith(RobolectricTestRunner.class)
1114
public class CodeTemplateTest {
1215
@Test
1316
public void testTemplateParser() {
File renamed without changes.
File renamed without changes.

core/src/androidTest/java/io/snabble/sdk/EncodedCodesGeneratorTest.java renamed to core/src/test/java/io/snabble/sdk/EncodedCodesGeneratorTest.java

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
package io.snabble.sdk;
22

3-
import androidx.test.annotation.UiThreadTest;
4-
import androidx.test.filters.LargeTest;
5-
import androidx.test.runner.AndroidJUnit4;
6-
73
import org.apache.commons.io.IOUtils;
84
import org.apache.commons.lang3.StringUtils;
95
import org.junit.Assert;
106
import org.junit.Test;
117
import org.junit.runner.RunWith;
8+
import org.robolectric.RobolectricTestRunner;
129

1310
import java.io.IOException;
1411
import java.util.ArrayList;
@@ -19,11 +16,9 @@
1916
import io.snabble.sdk.encodedcodes.EncodedCodesGenerator;
2017
import io.snabble.sdk.encodedcodes.EncodedCodesOptions;
2118

22-
@RunWith(AndroidJUnit4.class)
23-
@LargeTest
19+
@RunWith(RobolectricTestRunner.class)
2420
public class EncodedCodesGeneratorTest extends SnabbleSdkTest {
2521
@Test
26-
@UiThreadTest
2722
public void testGeneration() {
2823
EncodedCodesOptions options = new EncodedCodesOptions.Builder(project)
2924
.prefix("+")
@@ -43,7 +38,6 @@ public void testGeneration() {
4338
}
4439

4540
@Test
46-
@UiThreadTest
4741
public void testSplitAtMaxChars() {
4842
EncodedCodesOptions options = new EncodedCodesOptions.Builder(project)
4943
.prefix("+")
@@ -66,7 +60,6 @@ public void testSplitAtMaxChars() {
6660
}
6761

6862
@Test
69-
@UiThreadTest
7063
public void testSplitAtMaxCodes() {
7164
EncodedCodesOptions options = new EncodedCodesOptions.Builder(project)
7265
.prefix("+")
@@ -89,7 +82,6 @@ public void testSplitAtMaxCodes() {
8982
}
9083

9184
@Test
92-
@UiThreadTest
9385
public void testSplitAgeRestrictedProducts() {
9486
EncodedCodesOptions options = new EncodedCodesOptions.Builder(project)
9587
.prefix("+")
@@ -117,7 +109,6 @@ public void testSplitAgeRestrictedProducts() {
117109
}
118110

119111
@Test
120-
@UiThreadTest
121112
public void testSplitAgeRestrictedProductsInMultipleCodes() {
122113
EncodedCodesOptions options = new EncodedCodesOptions.Builder(project)
123114
.prefix("+")
@@ -146,7 +137,6 @@ public void testSplitAgeRestrictedProductsInMultipleCodes() {
146137
}
147138

148139
@Test
149-
@UiThreadTest
150140
public void testSplitAgeRestrictedProductsInMultipleCodes2() {
151141
EncodedCodesOptions options = new EncodedCodesOptions.Builder(project)
152142
.prefix("+")
@@ -178,7 +168,6 @@ public void testSplitAgeRestrictedProductsInMultipleCodes2() {
178168
}
179169

180170
@Test
181-
@UiThreadTest
182171
public void testSplitWithOnlyOneRestrictedProduct() {
183172
EncodedCodesOptions options = new EncodedCodesOptions.Builder(project)
184173
.prefix("+")
@@ -204,7 +193,6 @@ public void testSplitWithOnlyOneRestrictedProduct() {
204193
}
205194

206195
@Test
207-
@UiThreadTest
208196
public void testKnauber() {
209197
EncodedCodesOptions options = new EncodedCodesOptions.Builder(project)
210198
.prefix("")
@@ -234,7 +222,6 @@ public void testKnauber() {
234222
}
235223

236224
@Test
237-
@UiThreadTest
238225
public void testCoupons() {
239226
EncodedCodesOptions options = new EncodedCodesOptions.Builder(project)
240227
.prefix("")
@@ -263,7 +250,6 @@ public void testCoupons() {
263250
}
264251

265252
@Test
266-
@UiThreadTest
267253
public void testEdeka() {
268254
EncodedCodesOptions options = new EncodedCodesOptions.Builder(project)
269255
.prefix("XE")
@@ -288,7 +274,6 @@ public void testEdeka() {
288274
}
289275

290276
@Test
291-
@UiThreadTest
292277
public void testEdekaWithOverflow() {
293278
EncodedCodesOptions options = new EncodedCodesOptions.Builder(project)
294279
.prefix("XE")
@@ -314,7 +299,6 @@ public void testEdekaWithOverflow() {
314299
}
315300

316301
@Test
317-
@UiThreadTest
318302
public void testEdekaWithRestrictedProduct() {
319303
EncodedCodesOptions options = new EncodedCodesOptions.Builder(project)
320304
.prefix("XE")
@@ -343,7 +327,6 @@ public void testEdekaWithRestrictedProduct() {
343327
}
344328

345329
@Test
346-
@UiThreadTest
347330
public void testExpensiveItemsSortedToBottom() {
348331
EncodedCodesOptions options = new EncodedCodesOptions.Builder(project)
349332
.prefix("")
@@ -367,7 +350,6 @@ public void testExpensiveItemsSortedToBottom() {
367350
}
368351

369352
@Test
370-
@UiThreadTest
371353
public void testCSVFormat() {
372354
EncodedCodesOptions options = new EncodedCodesOptions.Builder(project)
373355
.prefix("snabble;\n")
@@ -394,7 +376,6 @@ public void testCSVFormat() {
394376
}
395377

396378
@Test
397-
@UiThreadTest
398379
public void testCSVv2Format() {
399380
EncodedCodesOptions options = new EncodedCodesOptions.Builder(project)
400381
.prefix("snabble;{qrCodeIndex};{qrCodeCount}\n")
@@ -422,9 +403,8 @@ public void testCSVv2Format() {
422403
}
423404

424405
@Test
425-
@UiThreadTest
426406
public void testTransmissionTemplates() throws IOException, Snabble.SnabbleException {
427-
String[] sql = IOUtils.readLines(context.getAssets().open("transmission_template.sql")).toArray(new String[0]);
407+
String[] sql = loadSql("transmission_template").split("\n");
428408
withDb("test_1_25.sqlite3", false, sql);
429409

430410
EncodedCodesOptions options = new EncodedCodesOptions.Builder(project)
File renamed without changes.

core/src/androidTest/java/io/snabble/sdk/NetworkTest.java renamed to core/src/test/java/io/snabble/sdk/NetworkTest.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
11
package io.snabble.sdk;
22

3-
import androidx.test.filters.LargeTest;
4-
import androidx.test.runner.AndroidJUnit4;
5-
63
import org.junit.Assert;
74
import org.junit.Test;
85
import org.junit.runner.RunWith;
6+
import org.robolectric.RobolectricTestRunner;
97

108
import java.io.IOException;
119

1210
import okhttp3.OkHttpClient;
1311
import okhttp3.Request;
1412
import okhttp3.Response;
1513

16-
@RunWith(AndroidJUnit4.class)
17-
@LargeTest
14+
@RunWith(RobolectricTestRunner.class)
1815
public class NetworkTest extends SnabbleSdkTest {
1916
@Test
2017
public void testLetsEncrypt() throws IOException {

0 commit comments

Comments
 (0)