diff --git a/.vscode/launch.json b/.vscode/launch.json
index ad749e4..f002ad7 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -10,7 +10,7 @@
"request": "launch",
"mainClass": "de.jeyp91.App",
"envFile": "${workspaceFolder}/.env",
- "args": " --mode APIFootballUpdater --season 2026 --league 49 --configFile WM-Tippspiel"
+ "args": ["--mode", "APIFootballUpdater", "--season", "2027", "--league", "1", "--configFile", "Tippliga"]
},
{
"type": "java",
@@ -18,7 +18,7 @@
"request": "launch",
"mainClass": "de.jeyp91.App",
"envFile": "${workspaceFolder}/.env",
- "args": " --mode MatchesCreatorFootball --season 2026 --league 49 --configFile WM-Tippspiel"
+ "args": ["--mode", "MatchesCreatorFootball", "--season", "2027", "--league", "1", "--configFile", "Tippliga"]
},
{
"type": "java",
@@ -26,7 +26,7 @@
"request": "launch",
"mainClass": "de.jeyp91.App",
"envFile": "${workspaceFolder}/.env",
- "args": " --mode MatchesUpdaterFootball --season 2026 --league 49 --configFile WM-Tippspiel"
+ "args": ["--mode", "MatchesUpdaterFootball", "--season", "2027", "--league", "1", "--configFile", "Tippliga"]
},
{
"type": "java",
@@ -34,7 +34,7 @@
"request": "launch",
"mainClass": "de.jeyp91.App",
"envFile": "${workspaceFolder}/.env",
- "args": " --mode MatchdaysUpdater --season 2026 --league 49 --configFile WM-Tippspiel"
+ "args": ["--mode", "MatchdaysUpdater", "--season", "2027", "--league", "1", "--configFile", "Tippliga"]
},
{
"type": "java",
@@ -42,7 +42,7 @@
"request": "launch",
"mainClass": "de.jeyp91.App",
"envFile": "${workspaceFolder}/.env",
- "args": " --mode MatchesResultsUpdater --season 2026 --league 49 --configFile WM-Tippspiel"
+ "args": ["--mode", "MatchesResultsUpdater", "--season", "2027", "--league", "1", "--configFile", "Tippliga"]
},
{
"type": "java",
@@ -50,7 +50,7 @@
"request": "launch",
"mainClass": "de.jeyp91.App",
"envFile": "${workspaceFolder}/.env",
- "args": " --mode MatchesListGistUpdater --season 2026 --league 49 --configFile WM-Tippspiel"
+ "args": ["--mode", "MatchesListGistUpdater", "--season", "2027", "--league", "1", "--configFile", "Tippliga"]
},
{
"type": "java",
@@ -58,7 +58,15 @@
"request": "launch",
"mainClass": "de.jeyp91.App",
"envFile": "${workspaceFolder}/.env",
- "args": " --mode TeamsUpdater --season 2026 --league 49 --configFile WM-Tippspiel"
+ "args": ["--mode", "TeamsUpdater", "--season", "2027", "--league", "1", "--configFile", "Tippliga"]
+ },
+ {
+ "type": "java",
+ "name": "SeasonPreparation",
+ "request": "launch",
+ "mainClass": "de.jeyp91.App",
+ "envFile": "${workspaceFolder}/.env",
+ "args": ["--mode", "SeasonPreparation", "--season", "2027", "--league", "0", "--configFile", "Dummy"]
}
]
}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 61960bd..ad7aa31 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -5,4 +5,5 @@
"envFile": "${workspaceFolder}/.env"
},
"java.debug.settings.onBuildFailureProceed": true,
-}
+ "jdk.jdkhome": "/Users/julian/.local/share/mise/installs/java/22.0.2",
+}
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 6477637..4824595 100644
--- a/build.gradle
+++ b/build.gradle
@@ -37,6 +37,26 @@ dependencies {
testImplementation 'org.testng:testng:7.10.2'
}
+def envFile = file('.env')
+if (envFile.exists()) {
+ def envVars = [:]
+ envFile.readLines().each { line ->
+ def trimmed = line.trim()
+ if (trimmed && !trimmed.startsWith('#')) {
+ def parts = trimmed.split('=', 2)
+ if (parts.size() == 2) {
+ def key = parts[0].trim()
+ def value = parts[1].trim()
+ if (value.startsWith('"') && value.endsWith('"')) {
+ value = value.substring(1, value.length() - 1)
+ }
+ envVars[key] = value
+ }
+ }
+ }
+ test { environment envVars }
+}
+
jar {
manifest {
attributes(
diff --git a/src/main/java/de/jeyp91/App.java b/src/main/java/de/jeyp91/App.java
index ebbe423..1cf36d0 100644
--- a/src/main/java/de/jeyp91/App.java
+++ b/src/main/java/de/jeyp91/App.java
@@ -10,6 +10,7 @@ import de.jeyp91.tippliga.TLWMatchesResultsUpdater;
import de.jeyp91.tippliga.TLWMatchesUpdaterFootball;
import de.jeyp91.tippliga.TLWTeamsUpdater;
import de.jeyp91.tippligaforum.MatchesListForumUpdater;
+import de.jeyp91.tippligaforum.SeasonForumPostsCreator;
import de.jeyp91.tippligaforum.TippligaConfigProvider;
import de.jeyp91.tippligaforum.TippligaSQLConnector;
import de.jeyp91.whatsapp.WhatsAppNotifier;
@@ -69,6 +70,10 @@ public class App {
MatchesListForumUpdater matchesListForumUpdater = new MatchesListForumUpdater();
matchesListForumUpdater.updateAllLeagues(season);
}
+ case "SeasonPreparation" -> {
+ SeasonForumPostsCreator creator = new SeasonForumPostsCreator(season);
+ creator.createAllPosts();
+ }
case "PostChecksum" -> {
TippligaConfigProvider configProvider = new TippligaConfigProvider(season);
String checksum = configProvider.getChecksumOfConfigPost(configFile);
@@ -96,7 +101,7 @@ public class App {
parser.addArgument("-m", "--mode")
.dest("mode")
- .choices("MatchdaysUpdater", "MatchesCreatorFootball", "MatchesUpdaterFootball", "MatchesResultsUpdater", "TeamsUpdater", "APIFootballUpdater", "MatchesListGistUpdater", "PostChecksum", "WhatsAppNotifier")
+ .choices("MatchdaysUpdater", "MatchesCreatorFootball", "MatchesUpdaterFootball", "MatchesResultsUpdater", "TeamsUpdater", "APIFootballUpdater", "MatchesListGistUpdater", "PostChecksum", "WhatsAppNotifier", "SeasonPreparation")
.help("")
.required(true)
.type(String.class);
diff --git a/src/main/java/de/jeyp91/tippligaforum/SeasonForumPostsCreator.java b/src/main/java/de/jeyp91/tippligaforum/SeasonForumPostsCreator.java
new file mode 100644
index 0000000..55ea580
--- /dev/null
+++ b/src/main/java/de/jeyp91/tippligaforum/SeasonForumPostsCreator.java
@@ -0,0 +1,137 @@
+package de.jeyp91.tippligaforum;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+public class SeasonForumPostsCreator {
+
+ private static final Logger logger = LoggerFactory.getLogger(SeasonForumPostsCreator.class);
+ private static final String EMPTY_POST_CONTENT = "[code][/code]";
+
+ private static final String[] CONFIG_POSTS = {
+ "Supercup Tipper",
+ "WTL-Pokal Tipper",
+ "2. Tippliga Tipper",
+ "1. Tippliga Tipper",
+ "Relegation",
+ "Supercup",
+ "WTL-Pokal",
+ "Tippliga"
+ };
+
+ private static final String[] MATCH_LIST_POSTS = {
+ "World UEFA Super Cup",
+ "World UEFA Europa Conference League",
+ "World UEFA Europa League",
+ "World UEFA Champions League",
+ "Austria Bundesliga",
+ "Portugal Primeira Liga",
+ "Netherlands Eredivisie",
+ "Turkey Süper Lig",
+ "France Ligue 1",
+ "Italy Serie A",
+ "Spain La Liga",
+ "England Premier League",
+ "Germany Super Cup",
+ "Germany Frauen Bundesliga",
+ "Germany U19 Bundesliga",
+ "Germany Regionalliga - SudWest",
+ "Germany Regionalliga - Bayern",
+ "Germany 3. Liga",
+ "Germany 2. Bundesliga",
+ "Germany Bundesliga",
+ "Germany DFB Pokal"
+ };
+
+ private final int season;
+ private final TippligaWebsiteConnector connector;
+ private final TippligaSQLConnector sqlConnector;
+
+ public SeasonForumPostsCreator(int season) {
+ this.season = season;
+ try {
+ this.connector = new TippligaWebsiteConnector();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ this.sqlConnector = TippligaSQLConnector.getInstance();
+ }
+
+ public void createAllPosts() {
+ Integer adminForumId = sqlConnector.getForumId("Admin");
+ if (adminForumId == null) {
+ logger.error("Forum 'Admin' not found. Aborting.");
+ return;
+ }
+
+ Integer tippligaConfigForumId = sqlConnector.getForumId("Tippliga-Config", adminForumId);
+ if (tippligaConfigForumId == null) {
+ logger.error("Forum 'Tippliga-Config' not found. Aborting.");
+ return;
+ }
+
+ Integer seasonForumId = sqlConnector.getForumId(String.valueOf(season), tippligaConfigForumId);
+ if (seasonForumId == null) {
+ logger.error("Forum '" + season + "' not found under Tippliga-Config. Aborting.");
+ return;
+ }
+
+ Integer ligenForumId = sqlConnector.getForumId("Ligen", seasonForumId);
+ if (ligenForumId == null) {
+ logger.error("Forum 'Ligen' not found under " + season + ". Aborting.");
+ return;
+ }
+
+ createConfigPosts(seasonForumId);
+ createMatchListPosts(ligenForumId);
+ }
+
+ private void createConfigPosts(int seasonForumId) {
+ logger.info("Creating config posts in forum " + season + "...");
+ for (String subject : CONFIG_POSTS) {
+ if (postExists(seasonForumId, subject)) {
+ logger.info("Config post '" + subject + "' already exists. Skipping.");
+ continue;
+ }
+ boolean success = connector.createPost(seasonForumId, subject, EMPTY_POST_CONTENT);
+ if (success) {
+ logger.info("Created config post: " + subject);
+ } else {
+ logger.error("Failed to create config post: " + subject);
+ }
+ }
+ }
+
+ private void createMatchListPosts(int ligenForumId) {
+ logger.info("Creating match list posts in " + season + " > Ligen...");
+ for (String subject : MATCH_LIST_POSTS) {
+ if (postExists(ligenForumId, subject)) {
+ logger.info("Match list post '" + subject + "' already exists. Skipping.");
+ continue;
+ }
+ boolean success = connector.createPost(ligenForumId, subject, EMPTY_POST_CONTENT);
+ if (success) {
+ logger.info("Created match list post: " + subject);
+ } else {
+ logger.error("Failed to create match list post: " + subject);
+ }
+ }
+ }
+
+ private boolean postExists(int forumId, String subject) {
+ String query = "SELECT COUNT(*) FROM phpbb_posts WHERE forum_id = " + forumId + " AND post_subject = '" + subject + "'";
+ ResultSet rset = sqlConnector.executeQuery(query);
+ try {
+ if (rset != null && rset.next()) {
+ return rset.getInt(1) > 0;
+ }
+ } catch (SQLException e) {
+ logger.error("Error checking if post exists", e);
+ }
+ return false;
+ }
+}
diff --git a/src/main/java/de/jeyp91/tippligaforum/TippligaWebsiteConnector.java b/src/main/java/de/jeyp91/tippligaforum/TippligaWebsiteConnector.java
index 3b6a3dd..034c384 100644
--- a/src/main/java/de/jeyp91/tippligaforum/TippligaWebsiteConnector.java
+++ b/src/main/java/de/jeyp91/tippligaforum/TippligaWebsiteConnector.java
@@ -218,6 +218,69 @@ public class TippligaWebsiteConnector {
this.lastFormToken = matcher.group(2);
}
+ public boolean createPost(int forumId, String subject, String message) {
+ String url = "https://tippliga-wuerzburg.de/posting.php?mode=post&f=" + forumId;
+
+ HttpRequest req = HttpRequest.newBuilder()
+ .uri(URI.create(url))
+ .GET().build();
+
+ String reqBody = "";
+ try {
+ TimeUnit.SECONDS.sleep(1);
+ reqBody = client.send(req, HttpResponse.BodyHandlers.ofString()).body();
+ } catch (IOException | InterruptedException e) {
+ logger.error("Failed to fetch posting form", e);
+ return false;
+ }
+
+ Pattern pattern = Pattern.compile("^[\\s\\S]*[\\s\\S]*[\\s\\S]*$");
+ Matcher matcher = pattern.matcher(reqBody);
+ if (!matcher.find()) {
+ logger.error("Could not find CSRF tokens in posting form for forum " + forumId);
+ return false;
+ }
+
+ String creationTime = matcher.group(1);
+ String formToken = matcher.group(2);
+
+ Map postParameters = new HashMap<>();
+ postParameters.put("subject", subject);
+ postParameters.put("message", message);
+ postParameters.put("creation_time", creationTime);
+ postParameters.put("form_token", formToken);
+ postParameters.put("post", "Absenden");
+ postParameters.put("attach_sig", "1");
+ postParameters.put("enable_bbcode", "1");
+ postParameters.put("enable_smilies", "1");
+ postParameters.put("enable_magic_url", "1");
+
+ String postForm = postParameters.entrySet()
+ .stream()
+ .map(e -> e.getKey() + "=" + URLEncoder.encode(e.getValue(), StandardCharsets.UTF_8))
+ .collect(Collectors.joining("&"));
+
+ HttpRequest postReq = HttpRequest.newBuilder()
+ .uri(URI.create(url))
+ .headers("Content-Type", "application/x-www-form-urlencoded")
+ .POST(HttpRequest.BodyPublishers.ofString(postForm))
+ .build();
+
+ try {
+ TimeUnit.SECONDS.sleep(1);
+ HttpResponse response = client.send(postReq, HttpResponse.BodyHandlers.ofString());
+ if (response.statusCode() == 302) {
+ logger.info("Created post '" + subject + "' in forum " + forumId);
+ return true;
+ }
+ logger.error("Failed to create post '" + subject + "' in forum " + forumId + ". Status: " + response.statusCode());
+ return false;
+ } catch (IOException | InterruptedException e) {
+ logger.error("Failed to create post", e);
+ return false;
+ }
+ }
+
private String getSidFromCookie() {
HttpCookie sidCookie = cookieStore.getCookies().get(2);
String sid = sidCookie.getValue();
diff --git a/src/main/resources/Tippliga/Team_ID_Matcher_Config.json b/src/main/resources/Tippliga/Team_ID_Matcher_Config.json
index f70eeb9..80d85e9 100644
--- a/src/main/resources/Tippliga/Team_ID_Matcher_Config.json
+++ b/src/main/resources/Tippliga/Team_ID_Matcher_Config.json
@@ -1528,5 +1528,45 @@
"teamname": "Tunisia",
"tippligaID": 710,
"apiFootballID": 28
+ },
+ {
+ "teamname": "SC St. Tönis",
+ "tippligaID": 673,
+ "apiFootballID": 19466
+ },
+ {
+ "teamname": "Lüneburger SK Hansa",
+ "tippligaID": 76,
+ "apiFootballID": 1645
+ },
+ {
+ "teamname": "Eintracht Trier",
+ "tippligaID": 46,
+ "apiFootballID": 1627
+ },
+ {
+ "teamname": "SSV Jeddeloh",
+ "tippligaID": 124,
+ "apiFootballID": 1655
+ },
+ {
+ "teamname": "Krieschow",
+ "tippligaID": 675,
+ "apiFootballID": 14713
+ },
+ {
+ "teamname": "Westfalia Rhynern",
+ "tippligaID": 676,
+ "apiFootballID": 14826
+ },
+ {
+ "teamname": "HEBC",
+ "tippligaID": 677,
+ "apiFootballID": 16078
+ },
+ {
+ "teamname": "NEXT TEAM",
+ "tippligaID": 674,
+ "apiFootballID": 9999999
}
]
\ No newline at end of file
diff --git a/src/main/resources/Tippliga/Tipper_Team_Config.json b/src/main/resources/Tippliga/Tipper_Team_Config.json
index fd29601..b6dd91b 100644
--- a/src/main/resources/Tippliga/Tipper_Team_Config.json
+++ b/src/main/resources/Tippliga/Tipper_Team_Config.json
@@ -288,5 +288,10 @@
"team_id": 2139,
"team_name": "Dustin",
"team_name_short": "Dustin"
+ },
+ {
+ "team_id": 2140,
+ "team_name": "Marcel W.",
+ "team_name_short": "Marcel W."
}
]
diff --git a/src/main/resources/Tippliga_Configs/2027/rel.json b/src/main/resources/Tippliga_Configs/2027/rel.json
new file mode 100644
index 0000000..dd50f79
--- /dev/null
+++ b/src/main/resources/Tippliga_Configs/2027/rel.json
@@ -0,0 +1,30 @@
+{
+ "numberOfMatchdays": 1,
+ "matchesPerMatchday": 4,
+ "pointMode": 4,
+ "pointsTendency": 1,
+ "pointsDifference": 2,
+ "pointsDirectHit": 3,
+ "ko": 1,
+ "matchdayConfig": [
+ {
+ "TLWMatchday": 1,
+ "matchdayName": "Relegation",
+ "numberOfMatches": 4,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 35,
+ "showTable": true
+ },
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 79,
+ "leagueMatchday": 35,
+ "showTable": true
+ }
+ ]
+ }
+ ]
+}
diff --git a/src/main/resources/Tippliga_Configs/2027/sc.json b/src/main/resources/Tippliga_Configs/2027/sc.json
new file mode 100644
index 0000000..1ea871f
--- /dev/null
+++ b/src/main/resources/Tippliga_Configs/2027/sc.json
@@ -0,0 +1,54 @@
+{
+ "numberOfMatchdays": 2,
+ "matchesPerMatchday": 4,
+ "pointMode": 4,
+ "pointsTendency": 1,
+ "pointsDifference": 2,
+ "pointsDirectHit": 3,
+ "ko": 1,
+ "matchdayConfig": [
+ {
+ "TLWMatchday": 1,
+ "matchdayName": "Supercup",
+ "numberOfMatches": 4,
+ "matchesConfig": [
+ {
+ "matchday": 1,
+ "matchtime": "2026-08-22 20:30",
+ "match": "Borussia Dortmund - Bayern München",
+ "showTable": false,
+ "matchLeague": 529,
+ "type": "SingleMatch",
+ "matchId": 1582362
+ },
+ {
+ "matchday": 1,
+ "matchtime": "2026-08-22 20:30",
+ "match": "Borussia Dortmund - Bayern München",
+ "showTable": false,
+ "matchLeague": 529,
+ "type": "SingleMatch",
+ "matchId": 1582362
+ },
+ {
+ "matchday": 1,
+ "matchtime": "2026-08-12 21:00",
+ "match": "Paris Saint Germain - Aston Villa",
+ "showTable": false,
+ "matchLeague": 531,
+ "type": "SingleMatch",
+ "matchId": 1583664
+ },
+ {
+ "matchday": 1,
+ "matchtime": "2026-08-12 21:00",
+ "match": "Paris Saint Germain - Aston Villa",
+ "showTable": false,
+ "matchLeague": 531,
+ "type": "SingleMatch",
+ "matchId": 1583664
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/Tippliga_Configs/2027/sc_tipper.json b/src/main/resources/Tippliga_Configs/2027/sc_tipper.json
new file mode 100644
index 0000000..00f52f2
--- /dev/null
+++ b/src/main/resources/Tippliga_Configs/2027/sc_tipper.json
@@ -0,0 +1,4 @@
+{
+ "1": "Sascha",
+ "2": "Stefan"
+}
\ No newline at end of file
diff --git a/src/main/resources/Tippliga_Configs/2027/tl.json b/src/main/resources/Tippliga_Configs/2027/tl.json
new file mode 100644
index 0000000..bafb63a
--- /dev/null
+++ b/src/main/resources/Tippliga_Configs/2027/tl.json
@@ -0,0 +1,434 @@
+{
+ "numberOfMatchdays": 39,
+ "matchesPerMatchday": 12,
+ "pointMode": 4,
+ "pointsTendency": 1,
+ "pointsDifference": 2,
+ "pointsDirectHit": 3,
+ "ko": 0,
+ "matchdayConfig": [
+ {
+ "TLWMatchday": 1,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 79,
+ "leagueMatchday": 1,
+ "showTable": false
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 2,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 79,
+ "leagueMatchday": 2,
+ "showTable": false
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 3,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 1,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 4,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 2,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 5,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 3,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 6,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 4,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 7,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 5,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 8,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 6,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 9,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 7,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 10,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 8,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 11,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 9,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 12,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 10,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 13,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 11,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 14,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 12,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 15,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 13,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 16,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 14,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 17,
+ "matchesConfig": [
+ {
+ "type": "Placeholder",
+ "placeholderDatetime": "2025-12-26 18:00:00"
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 18,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 15,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 19,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 16,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 20,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 17,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 21,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 18,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 22,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 19,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 23,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 20,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 24,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 21,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 25,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 22,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 26,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 23,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 27,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 24,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 28,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 25,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 29,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 26,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 30,
+ "matchesConfig": [
+ {
+ "type": "Placeholder",
+ "placeholderDatetime": "2026-03-17 18:00:00"
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 31,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 27,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 32,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 28,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 33,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 29,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 34,
+ "matchesConfig": [
+ {
+ "type": "Placeholder",
+ "placeholderDatetime": "2026-04-14 18:00:00"
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 35,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 30,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 36,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 31,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 37,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 32,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 38,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 33,
+ "showTable": true
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 39,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 78,
+ "leagueMatchday": 34,
+ "showTable": true
+ }
+ ]
+ }
+ ]
+}
diff --git a/src/main/resources/Tippliga_Configs/2027/tl1_tipper.json b/src/main/resources/Tippliga_Configs/2027/tl1_tipper.json
new file mode 100644
index 0000000..da02f86
--- /dev/null
+++ b/src/main/resources/Tippliga_Configs/2027/tl1_tipper.json
@@ -0,0 +1,16 @@
+{
+ "1": "Flo",
+ "2": "Michael",
+ "3": "Demian",
+ "4": "Sascha",
+ "5": "Maxi Z.",
+ "6": "Julian",
+ "7": "Dustin",
+ "8": "Kay",
+ "9": "Lukas",
+ "10": "Marcel U.",
+ "11": "TG Nürnberg",
+ "12": "Nicole",
+ "13": "Franz",
+ "14": "Tristan"
+}
\ No newline at end of file
diff --git a/src/main/resources/Tippliga_Configs/2027/tl2_tipper.json b/src/main/resources/Tippliga_Configs/2027/tl2_tipper.json
new file mode 100644
index 0000000..5d8ad49
--- /dev/null
+++ b/src/main/resources/Tippliga_Configs/2027/tl2_tipper.json
@@ -0,0 +1,16 @@
+{
+ "1": "Philipp",
+ "2": "Marcel",
+ "3": "Matthias",
+ "4": "Max",
+ "5": "Marcel W.",
+ "6": "Friedrich",
+ "7": "Stefan",
+ "8": "Armin",
+ "9": "Barb",
+ "10": "Hilde",
+ "11": "Olli L.",
+ "12": "Jimmy",
+ "13": "Johannes",
+ "14": "Patrick"
+}
\ No newline at end of file
diff --git a/src/main/resources/Tippliga_Configs/2027/tl_ligen.sql b/src/main/resources/Tippliga_Configs/2027/tl_ligen.sql
new file mode 100644
index 0000000..36a3aab
--- /dev/null
+++ b/src/main/resources/Tippliga_Configs/2027/tl_ligen.sql
@@ -0,0 +1,10 @@
+INSERT INTO `phpbb_footb_leagues` (`season`, `league`, `league_name`, `league_name_short`, `league_type`, `matchdays`, `matches_on_matchday`, `win_result`, `win_result_02`, `win_matchday`, `win_season`, `points_mode`, `points_result`, `points_tendency`, `points_diff`, `points_last`, `join_by_user`, `join_in_season`, `bet_in_time`, `rules_post_id`, `sort`, `bet_ko_type`, `bet_points`, `bet_type`) VALUES (2027, 1, '1. Tippliga Würzburg', '1TL', 1, 39, 12, '0', '0', '0', '0', 4, 3, 1, 2, 0, 0, 0, 0, 561, 0, 1, 0.00, 0);
+INSERT INTO `phpbb_footb_leagues` (`season`, `league`, `league_name`, `league_name_short`, `league_type`, `matchdays`, `matches_on_matchday`, `win_result`, `win_result_02`, `win_matchday`, `win_season`, `points_mode`, `points_result`, `points_tendency`, `points_diff`, `points_last`, `join_by_user`, `join_in_season`, `bet_in_time`, `rules_post_id`, `sort`, `bet_ko_type`, `bet_points`, `bet_type`) VALUES (2027, 2, '2. Tippliga Würzburg', '2TL', 1, 39, 12, '0', '0', '0', '0', 4, 3, 1, 2, 0, 0, 0, 0, 561, 0, 1, 0.00, 0);
+INSERT INTO `phpbb_footb_leagues` (`season`, `league`, `league_name`, `league_name_short`, `league_type`, `matchdays`, `matches_on_matchday`, `win_result`, `win_result_02`, `win_matchday`, `win_season`, `points_mode`, `points_result`, `points_tendency`, `points_diff`, `points_last`, `join_by_user`, `join_in_season`, `bet_in_time`, `rules_post_id`, `sort`, `bet_ko_type`, `bet_points`, `bet_type`) VALUES (2027, 45, 'Supercup', 'SC', 2, 1, 0, '0', '0', '0', '0', 4, 3, 1, 2, 0, 0, 0, 1, 561, 0, 1, 0.00, 0);
+INSERT INTO `phpbb_footb_leagues` (`season`, `league`, `league_name`, `league_name_short`, `league_type`, `matchdays`, `matches_on_matchday`, `win_result`, `win_result_02`, `win_matchday`, `win_season`, `points_mode`, `points_result`, `points_tendency`, `points_diff`, `points_last`, `join_by_user`, `join_in_season`, `bet_in_time`, `rules_post_id`, `sort`, `bet_ko_type`, `bet_points`, `bet_type`) VALUES (2027, 47, 'Relegation', 'REL', 2, 1, 0, '0', '0', '0', '0', 4, 3, 1, 2, 0, 0, 0, 1, 561, 0, 1, 0.00, 1);
+INSERT INTO `phpbb_footb_leagues` (`season`, `league`, `league_name`, `league_name_short`, `league_type`, `matchdays`, `matches_on_matchday`, `win_result`, `win_result_02`, `win_matchday`, `win_season`, `points_mode`, `points_result`, `points_tendency`, `points_diff`, `points_last`, `join_by_user`, `join_in_season`, `bet_in_time`, `rules_post_id`, `sort`, `bet_ko_type`, `bet_points`, `bet_type`) VALUES (2027, 48, 'WTL-Pokal', 'WTL', 2, 5, 0, '0', '0', '0', '0', 4, 3, 1, 2, 0, 0, 0, 0, 561, 0, 1, 0.00, 0);
+INSERT INTO `phpbb_footb_leagues` (`season`, `league`, `league_name`, `league_name_short`, `league_type`, `matchdays`, `matches_on_matchday`, `win_result`, `win_result_02`, `win_matchday`, `win_season`, `points_mode`, `points_result`, `points_tendency`, `points_diff`, `points_last`, `join_by_user`, `join_in_season`, `bet_in_time`, `rules_post_id`, `sort`, `bet_ko_type`, `bet_points`, `bet_type`) VALUES (2027, 51, '1. Tippliga Würzburg', '1TL', 1, 39, 7, '0', '0', '0', '0', 1, 0, 0, 0, 1, 0, 0, 0, 561, 0, 1, 0.00, 0);
+INSERT INTO `phpbb_footb_leagues` (`season`, `league`, `league_name`, `league_name_short`, `league_type`, `matchdays`, `matches_on_matchday`, `win_result`, `win_result_02`, `win_matchday`, `win_season`, `points_mode`, `points_result`, `points_tendency`, `points_diff`, `points_last`, `join_by_user`, `join_in_season`, `bet_in_time`, `rules_post_id`, `sort`, `bet_ko_type`, `bet_points`, `bet_type`) VALUES (2027, 52, '2. Tippliga Würzburg', '2TL', 1, 39, 7, '0', '0', '0', '0', 1, 0, 0, 0, 1, 0, 0, 0, 561, 0, 1, 0.00, 0);
+INSERT INTO `phpbb_footb_leagues` (`season`, `league`, `league_name`, `league_name_short`, `league_type`, `matchdays`, `matches_on_matchday`, `win_result`, `win_result_02`, `win_matchday`, `win_season`, `points_mode`, `points_result`, `points_tendency`, `points_diff`, `points_last`, `join_by_user`, `join_in_season`, `bet_in_time`, `rules_post_id`, `sort`, `bet_ko_type`, `bet_points`, `bet_type`) VALUES (2027, 95, 'Supercup', 'SC', 2, 2, 0, '0', '0', '0', '0', 1, 0, 0, 0, 1, 0, 0, 0, 561, 0, 1, 0.00, 0);
+INSERT INTO `phpbb_footb_leagues` (`season`, `league`, `league_name`, `league_name_short`, `league_type`, `matchdays`, `matches_on_matchday`, `win_result`, `win_result_02`, `win_matchday`, `win_season`, `points_mode`, `points_result`, `points_tendency`, `points_diff`, `points_last`, `join_by_user`, `join_in_season`, `bet_in_time`, `rules_post_id`, `sort`, `bet_ko_type`, `bet_points`, `bet_type`) VALUES (2027, 97, 'Relegation', 'REL', 2, 1, 0, '0', '0', '0', '0', 1, 0, 0, 0, 1, 0, 0, 0, 561, 0, 1, 0.00, 0);
+INSERT INTO `phpbb_footb_leagues` (`season`, `league`, `league_name`, `league_name_short`, `league_type`, `matchdays`, `matches_on_matchday`, `win_result`, `win_result_02`, `win_matchday`, `win_season`, `points_mode`, `points_result`, `points_tendency`, `points_diff`, `points_last`, `join_by_user`, `join_in_season`, `bet_in_time`, `rules_post_id`, `sort`, `bet_ko_type`, `bet_points`, `bet_type`) VALUES (2027, 98, 'WTL-Pokal', 'WTL', 2, 6, 0, '0', '0', '0', '0', 1, 0, 0, 0, 1, 0, 0, 0, 561, 0, 1, 0.00, 0);
diff --git a/src/main/resources/Tippliga_Configs/2027/wtl.json b/src/main/resources/Tippliga_Configs/2027/wtl.json
new file mode 100644
index 0000000..0c9943f
--- /dev/null
+++ b/src/main/resources/Tippliga_Configs/2027/wtl.json
@@ -0,0 +1,152 @@
+{
+ "numberOfMatchdays": 5,
+ "matchesPerMatchday": 0,
+ "pointMode": 4,
+ "pointsTendency": 1,
+ "pointsDifference": 2,
+ "pointsDirectHit": 3,
+ "ko": 1,
+ "matchdayConfig": [
+ {
+ "TLWMatchday": 1,
+ "matchdayName": "1. Runde",
+ "numberOfMatches": 32,
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 81,
+ "leagueMatchday": 1,
+ "showTable": true
+ },
+ {
+ "type": "Placeholder",
+ "placeholderDatetime": "2025-08-21 18:00:00"
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 2,
+ "numberOfMatches": 16,
+ "matchdayName": "Achtelfinale",
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 81,
+ "leagueMatchday": 2,
+ "showTable": true
+ },
+ {
+ "type": "Placeholder",
+ "placeholderDatetime": "2025-10-27 18:00:00"
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 3,
+ "numberOfMatches": 8,
+ "matchdayName": "Viertelfinale",
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 81,
+ "leagueMatchday": 3,
+ "showTable": true
+ },
+ {
+ "type": "Placeholder",
+ "placeholderDatetime": "2025-12-01 18:30:00"
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 4,
+ "numberOfMatches": 4,
+ "matchdayName": "Halbfinale",
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 81,
+ "leagueMatchday": 4,
+ "showTable": true
+ },
+ {
+ "type": "Placeholder",
+ "placeholderDatetime": "2026-02-02 18:30:00"
+ }
+ ]
+ },
+ {
+ "TLWMatchday": 5,
+ "numberOfMatches": 6,
+ "matchdayName": "Finale",
+ "matchesConfig": [
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 81,
+ "leagueMatchday": 5,
+ "showTable": true
+ },
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 81,
+ "leagueMatchday": 5,
+ "showTable": true
+ },
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 81,
+ "leagueMatchday": 6,
+ "showTable": true
+ },
+ {
+ "type": "AllMatchesOfMatchday",
+ "matchesLeague": 81,
+ "leagueMatchday": 6,
+ "showTable": true
+ },
+ {
+ "type": "PlaceholderSingleMatch",
+ "koMatch": true,
+ "placeholderDatetime": "2026-04-20 20:45:00",
+ "formulaHome": "D",
+ "formulaGuest": "D"
+ },
+ {
+ "type": "PlaceholderSingleMatch",
+ "koMatch": true,
+ "placeholderDatetime": "2026-04-20 20:45:00",
+ "formulaHome": "D",
+ "formulaGuest": "D"
+ },
+ {
+ "type": "PlaceholderSingleMatch",
+ "koMatch": true,
+ "placeholderDatetime": "2026-04-20 20:45:00",
+ "formulaHome": "D",
+ "formulaGuest": "D"
+ },
+ {
+ "type": "PlaceholderSingleMatch",
+ "koMatch": true,
+ "placeholderDatetime": "2026-04-20 20:45:00",
+ "formulaHome": "D",
+ "formulaGuest": "D"
+ },
+ {
+ "type": "PlaceholderSingleMatch",
+ "koMatch": true,
+ "placeholderDatetime": "2026-05-29 20:00:00",
+ "formulaHome": "W 61",
+ "formulaGuest": "W 63"
+ },
+ {
+ "type": "PlaceholderSingleMatch",
+ "koMatch": true,
+ "placeholderDatetime": "2026-05-29 20:00:00",
+ "formulaHome": "W 62",
+ "formulaGuest": "W 64"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/Tippliga_Configs/2027/wtl_tipper.json b/src/main/resources/Tippliga_Configs/2027/wtl_tipper.json
new file mode 100644
index 0000000..5d9e6a6
--- /dev/null
+++ b/src/main/resources/Tippliga_Configs/2027/wtl_tipper.json
@@ -0,0 +1,26 @@
+{
+ "1": "Matthias",
+ "2": "Marcel U.",
+ "3": "Marcel",
+ "4": "Dustin",
+ "5": "Johannes",
+ "6": "Tristan",
+ "7": "Philipp",
+ "8": "Nicole",
+ "9": "Barb",
+ "10": "TG Nürnberg",
+ "11": "Marcel W.",
+ "12": "Maxi Z.",
+ "13": "Olli L.",
+ "14": "Lukas",
+ "15": "Jimmy",
+ "16": "Franz",
+ "17": "Armin",
+ "18": "Demian",
+ "19": "Hilde",
+ "20": "Kay",
+ "21": "Patrick",
+ "22": "Flo",
+ "23": "Stefan",
+ "24": "Max"
+}
\ No newline at end of file
diff --git a/src/test/java/de/jeyp91/apifootball/APIFootballConnectorTest.java b/src/test/java/de/jeyp91/apifootball/APIFootballConnectorTest.java
index f9448a2..5eef55a 100644
--- a/src/test/java/de/jeyp91/apifootball/APIFootballConnectorTest.java
+++ b/src/test/java/de/jeyp91/apifootball/APIFootballConnectorTest.java
@@ -1,11 +1,11 @@
package de.jeyp91.apifootball;
-import org.junit.Test;
-
import java.util.ArrayList;
-public class APIFootballConnectorTest {
+import org.junit.Test;
+public class APIFootballConnectorTest {
+ /*
@Test
public void APITestGetMatchDataOfMatchdayBundesliga() {
APIFootballConnector apiFootballConnector = APIFootballConnector.getAPIFootballConnectorInstance(2020);
@@ -13,4 +13,5 @@ public class APIFootballConnectorTest {
assert matchesOfMatchday.get(0).getTeamIdHome() == 744;
assert matchesOfMatchday.get(0).getTeamIdGuest() == 159;
}
+ */
}
diff --git a/src/test/java/de/jeyp91/apifootball/APIFootballMatchTest.java b/src/test/java/de/jeyp91/apifootball/APIFootballMatchTest.java
index dd8e841..aed211a 100644
--- a/src/test/java/de/jeyp91/apifootball/APIFootballMatchTest.java
+++ b/src/test/java/de/jeyp91/apifootball/APIFootballMatchTest.java
@@ -6,7 +6,7 @@ import org.junit.Test;
import static de.jeyp91.apifootball.APIFootballConnector.stringToJSONObject;
public class APIFootballMatchTest {
-
+ /*
@Test
public void withExtratime() throws Exception {
String matchString = "{\"fixture_id\":958530,\"league_id\":4303,\"league\":{\"name\":\"DFB Pokal\",\"country\":\"Germany\",\"logo\":\"https:\\/\\/media-3.api-sports.io\\/football\\/leagues\\/81.png\",\"flag\":\"https:\\/\\/media-1.api-sports.io\\/flags\\/de.svg\"},\"event_date\":\"2022-10-19T18:00:00+02:00\",\"event_timestamp\":1666195200,\"firstHalfStart\":1666195200,\"secondHalfStart\":1666198800,\"round\":\"2nd Round\",\"status\":\"Match Finished\",\"statusShort\":\"PEN\",\"elapsed\":120,\"venue\":\"Home Deluxe Arena\",\"referee\":\"Frank Willenborg, Germany\",\"homeTeam\":{\"team_id\":185,\"team_name\":\"SC Paderborn 07\",\"logo\":\"https:\\/\\/media-2.api-sports.io\\/football\\/teams\\/185.png\"},\"awayTeam\":{\"team_id\":162,\"team_name\":\"Werder Bremen\",\"logo\":\"https:\\/\\/media-3.api-sports.io\\/football\\/teams\\/162.png\"},\"goalsHomeTeam\":2,\"goalsAwayTeam\":2,\"score\":{\"halftime\":\"2-0\",\"fulltime\":\"2-2\",\"extratime\":\"0-0\",\"penalty\":\"5-4\"}}";
@@ -20,4 +20,5 @@ public class APIFootballMatchTest {
JSONObject matchJson = stringToJSONObject(matchString);
APIFootballMatch match = new APIFootballMatch(matchJson, 2023);
}
+ */
}
diff --git a/src/test/java/de/jeyp91/apifootball/APIFootballUpdaterTest.java b/src/test/java/de/jeyp91/apifootball/APIFootballUpdaterTest.java
index 830e8e7..c8aba81 100644
--- a/src/test/java/de/jeyp91/apifootball/APIFootballUpdaterTest.java
+++ b/src/test/java/de/jeyp91/apifootball/APIFootballUpdaterTest.java
@@ -4,8 +4,8 @@ import org.junit.Test;
public class APIFootballUpdaterTest {
- int season = 2026;
-
+ int season = 2027;
+/*
@Test
public void checkErrorsTest() {
String rateLimitError = "{\"results\":0,\"errors\":{\"rateLimit\":\"Too many requests. Your rate limit is 10 requests per minute.\"}}";
@@ -41,4 +41,5 @@ public class APIFootballUpdaterTest {
APIFootballUpdater updater = new APIFootballUpdater();
updater.updateAllRounds(season);
}
+ */
}
diff --git a/src/test/java/de/jeyp91/openligadb/OpenLigaDBConnectorTest.java b/src/test/java/de/jeyp91/openligadb/OpenLigaDBConnectorTest.java
deleted file mode 100644
index 1cceb29..0000000
--- a/src/test/java/de/jeyp91/openligadb/OpenLigaDBConnectorTest.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package de.jeyp91.openligadb;
-
-import org.junit.Test;
-
-import java.util.ArrayList;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-public class OpenLigaDBConnectorTest {
-
- @Test
- public void APITestGetMatchDataOfMatchdayBundesliga() {
- OpenLigaDBConnector openLigaDBConnector = new OpenLigaDBConnector();
- ArrayList matches = openLigaDBConnector.getMatchDataOfMatchday(2020, "bl1", 1);
-
- assertEquals(9, matches.size());
-
- OpenLigaDBMatch match;
-
- match = matches.get(0);
- assertEquals((Integer) 55277, match.getMatchId());
- assertEquals((Integer) 40, match.getTeamIdHome());
- assertEquals((Integer) 54, match.getTeamIdGuest());
- assertEquals((Integer) 2020, match.getSeason());
- assertEquals("2019-08-16T20:30:00", match.getMatchDateTime());
- assertEquals((Integer) 1, match.getMatchday());
- assertEquals((Integer) 2, match.getGoalsHome());
- assertEquals((Integer) 2, match.getGoalsGuest());
- assertTrue(match.getMatchIsFinished());
-
- match = matches.get(1);
- assertEquals((Integer) 55278, match.getMatchId());
- assertEquals((Integer) 7, match.getTeamIdHome());
- assertEquals((Integer) 95, match.getTeamIdGuest());
- assertEquals((Integer) 2020, match.getSeason());
- assertEquals("2019-08-17T15:30:00", match.getMatchDateTime());
- assertEquals((Integer) 1, match.getMatchday());
- assertEquals((Integer) 5, match.getGoalsHome());
- assertEquals((Integer) 1, match.getGoalsGuest());
- assertTrue(match.getMatchIsFinished());
- }
-
- @Test
- public void APITestGetMatchDataOfMatchdayDFBPokal() {
- OpenLigaDBConnector openLigaDBConnector = new OpenLigaDBConnector();
- ArrayList matches = openLigaDBConnector.getMatchDataOfMatchday(2020, "dfb2019", 1);
-
- assert matches.size() == 32;
-
- OpenLigaDBMatch match = matches.get(0);
- assertEquals((Integer) 54926, match.getMatchId());
- assertEquals((Integer) 563, match.getTeamIdHome());
- assertEquals((Integer) 7, match.getTeamIdGuest());
- assertEquals((Integer) 2020, match.getSeason());
- assertEquals("2019-08-09T20:45:00", match.getMatchDateTime());
- assertEquals((Integer) 1, match.getMatchday());
- assertEquals((Integer) 0, match.getGoalsHome());
- assertEquals((Integer) 2, match.getGoalsGuest());
- assertTrue(match.getMatchIsFinished());
- }
-
- @Test
- public void APITestGetMatchDataOfSingleMatch() {
- OpenLigaDBConnector openLigaDBConnector = new OpenLigaDBConnector();
- OpenLigaDBMatch match = openLigaDBConnector.getMatchDataOfSingleMatch(55583);
- assertEquals((Integer) 55583, match.getMatchId());
- assertEquals((Integer) 16, match.getTeamIdHome());
- assertEquals((Integer) 55, match.getTeamIdGuest());
- assertEquals((Integer) 2020, match.getSeason());
- assertEquals("2019-07-26T20:30:00", match.getMatchDateTime());
- assertEquals((Integer) 1, match.getMatchday());
- assertEquals((Integer) 2, match.getGoalsHome());
- assertEquals((Integer) 1, match.getGoalsGuest());
- assertTrue(match.getMatchIsFinished());
- }
-}
diff --git a/src/test/java/de/jeyp91/tippliga/TLWMatchdaysCreatorTest.java b/src/test/java/de/jeyp91/tippliga/TLWMatchdaysCreatorTest.java
index 3026dac..81b708e 100644
--- a/src/test/java/de/jeyp91/tippliga/TLWMatchdaysCreatorTest.java
+++ b/src/test/java/de/jeyp91/tippliga/TLWMatchdaysCreatorTest.java
@@ -7,7 +7,7 @@ import org.junit.Test;
public class TLWMatchdaysCreatorTest {
- int season = 2026;
+ int season = 2027;
@Test
public void getMatchdaysTippligaTest() {
diff --git a/src/test/java/de/jeyp91/tippliga/TLWMatchesCreatorFootballTest.java b/src/test/java/de/jeyp91/tippliga/TLWMatchesCreatorFootballTest.java
index 42a8778..6996324 100644
--- a/src/test/java/de/jeyp91/tippliga/TLWMatchesCreatorFootballTest.java
+++ b/src/test/java/de/jeyp91/tippliga/TLWMatchesCreatorFootballTest.java
@@ -1,14 +1,13 @@
package de.jeyp91.tippliga;
-import org.junit.Test;
-
import java.util.ArrayList;
import static org.junit.Assert.assertEquals;
+import org.junit.Test;
public class TLWMatchesCreatorFootballTest {
- int season = 2026;
+ int season = 2027;
@Test
public void getMatchesTest() {
diff --git a/src/test/java/de/jeyp91/tippliga/TLWMatchesCreatorTipperPokalTest.java b/src/test/java/de/jeyp91/tippliga/TLWMatchesCreatorTipperPokalTest.java
index 1c30e34..b674877 100644
--- a/src/test/java/de/jeyp91/tippliga/TLWMatchesCreatorTipperPokalTest.java
+++ b/src/test/java/de/jeyp91/tippliga/TLWMatchesCreatorTipperPokalTest.java
@@ -4,7 +4,7 @@ import org.junit.Test;
public class TLWMatchesCreatorTipperPokalTest {
- int season = 2026;
+ int season = 2027;
@Test
public void getMatchesWTLPokalTest() {
diff --git a/src/test/java/de/jeyp91/tippliga/TLWMatchesCreatorTipperTest.java b/src/test/java/de/jeyp91/tippliga/TLWMatchesCreatorTipperTest.java
index c32b192..16187fe 100644
--- a/src/test/java/de/jeyp91/tippliga/TLWMatchesCreatorTipperTest.java
+++ b/src/test/java/de/jeyp91/tippliga/TLWMatchesCreatorTipperTest.java
@@ -4,7 +4,7 @@ import org.junit.Test;
public class TLWMatchesCreatorTipperTest {
- int season = 2026;
+ int season = 2027;
@Test
public void getMatchesTippliga1Test() {
diff --git a/src/test/java/de/jeyp91/tippliga/TLWMatchesUpdaterFootballTest.java b/src/test/java/de/jeyp91/tippliga/TLWMatchesUpdaterFootballTest.java
index d0389a6..6439ce9 100644
--- a/src/test/java/de/jeyp91/tippliga/TLWMatchesUpdaterFootballTest.java
+++ b/src/test/java/de/jeyp91/tippliga/TLWMatchesUpdaterFootballTest.java
@@ -4,7 +4,7 @@ import org.junit.Test;
public class TLWMatchesUpdaterFootballTest {
- int season = 2026;
+ int season = 2027;
@Test
public void getUpdateSqlTest1() {
TLWMatchesUpdaterFootball updater = new TLWMatchesUpdaterFootball(season, 1, "Tippliga");
diff --git a/src/test/java/de/jeyp91/tippliga/TLWTeamsCreatorTest.java b/src/test/java/de/jeyp91/tippliga/TLWTeamsCreatorTest.java
index 792f0f7..855b4f1 100644
--- a/src/test/java/de/jeyp91/tippliga/TLWTeamsCreatorTest.java
+++ b/src/test/java/de/jeyp91/tippliga/TLWTeamsCreatorTest.java
@@ -6,7 +6,7 @@ import org.junit.Test;
public class TLWTeamsCreatorTest {
- int season = 2026;
+ int season = 2027;
@Test
public void getTeamsTippligaFootball1Test() {