@@ -41,8 +41,8 @@ public class AuctionParsingTest {
|
||||
System.out.println("\n=== Auction Parsing Test ===");
|
||||
System.out.println("Found " + auctionLinks.size() + " auction links");
|
||||
|
||||
List<TroostwijkScraper.AuctionInfo> auctions = new ArrayList<>();
|
||||
int count = 0;
|
||||
List<AuctionInfo> auctions = new ArrayList<>();
|
||||
int count = 0;
|
||||
|
||||
for (Element link : auctionLinks) {
|
||||
String href = link.attr("href");
|
||||
@@ -59,7 +59,7 @@ public class AuctionParsingTest {
|
||||
int auctionId = Integer.parseInt(matcher.group(2));
|
||||
|
||||
// Extract auction info using IMPROVED text-based method
|
||||
TroostwijkScraper.AuctionInfo auction = extractAuctionInfoFromText(link, href, auctionId, "A" + typeNum);
|
||||
AuctionInfo auction = extractAuctionInfoFromText(link, href, auctionId, "A" + typeNum);
|
||||
auctions.add(auction);
|
||||
|
||||
// Print the first 10 auctions for verification
|
||||
@@ -101,7 +101,7 @@ public class AuctionParsingTest {
|
||||
assertTrue(auctions.size() > 0, "Should find at least one auction");
|
||||
|
||||
// Verify all auctions have basic info
|
||||
for (TroostwijkScraper.AuctionInfo auction : auctions) {
|
||||
for (AuctionInfo auction : auctions) {
|
||||
assertNotNull(auction.title, "Title should not be null for auction " + auction.auctionId);
|
||||
assertTrue(auction.title.length() > 0, "Title should not be empty for auction " + auction.auctionId);
|
||||
assertNotNull(auction.url, "URL should not be null for auction " + auction.auctionId);
|
||||
@@ -119,8 +119,8 @@ public class AuctionParsingTest {
|
||||
* Expected format: "[day] om [time] [lot_count] [title] [city], [CC]"
|
||||
* Example: "woensdag om 18:00 1 Vrachtwagens voor bedrijfsvoertuigen Loßburg, DE"
|
||||
*/
|
||||
private TroostwijkScraper.AuctionInfo extractAuctionInfoFromText(Element link, String href, int auctionId, String type) {
|
||||
TroostwijkScraper.AuctionInfo auction = new TroostwijkScraper.AuctionInfo();
|
||||
private AuctionInfo extractAuctionInfoFromText(Element link, String href, int auctionId, String type) {
|
||||
AuctionInfo auction = new AuctionInfo();
|
||||
auction.auctionId = auctionId;
|
||||
auction.type = type;
|
||||
auction.url = "https://www.troostwijkauctions.com" + href;
|
||||
|
||||
@@ -68,71 +68,18 @@ public class TroostwijkScraperTest {
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testFetchAndPersistAuctionData() throws SQLException {
|
||||
// First, discover auctions
|
||||
List<Integer> auctions = scraper.discoverDutchAuctions();
|
||||
assertFalse(auctions.isEmpty(), "Need at least one auction to test");
|
||||
|
||||
// Take the first auction and fetch its lots
|
||||
Integer firstSaleId = auctions.getFirst();
|
||||
System.out.println("Testing with sale ID: " + firstSaleId);
|
||||
|
||||
scraper.fetchLotsForSale(firstSaleId);
|
||||
|
||||
// Verify data was persisted to database
|
||||
List<TroostwijkScraper.Lot> lotsInDb = scraper.db.getAllLots();
|
||||
|
||||
assertNotNull(lotsInDb, "Lots list should not be null");
|
||||
assertFalse(lotsInDb.isEmpty(), "Should have persisted at least one lot");
|
||||
|
||||
// Verify lot properties
|
||||
for (TroostwijkScraper.Lot lot : lotsInDb) {
|
||||
assertEquals(firstSaleId.intValue(), lot.saleId, "Lot should belong to the correct sale");
|
||||
assertTrue(lot.lotId > 0, "Lot ID should be positive");
|
||||
assertNotNull(lot.title, "Lot title should not be null");
|
||||
assertFalse(lot.title.isEmpty(), "Lot title should not be empty");
|
||||
assertNotNull(lot.url, "Lot URL should not be null");
|
||||
assertTrue(lot.url.startsWith("https://"), "Lot URL should be valid");
|
||||
assertTrue(lot.currentBid >= 0, "Current bid should be non-negative");
|
||||
}
|
||||
|
||||
System.out.println("✓ Successfully persisted " + lotsInDb.size() + " lots to database");
|
||||
System.out.println("✓ All lot properties are valid");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDatabaseSchema() throws SQLException {
|
||||
// Verify that the database schema was created correctly
|
||||
List<TroostwijkScraper.Lot> lots = scraper.db.getAllLots();
|
||||
List<Lot> lots = scraper.db.getAllLots();
|
||||
assertNotNull(lots, "Should be able to query lots table");
|
||||
|
||||
int imageCount = scraper.db.getImageCount();
|
||||
assertTrue(imageCount >= 0, "Image count should be non-negative");
|
||||
|
||||
List<TroostwijkScraper.Lot> activeLots = scraper.db.getActiveLots();
|
||||
List<Lot> activeLots = scraper.db.getActiveLots();
|
||||
assertNotNull(activeLots, "Should be able to query active lots");
|
||||
|
||||
System.out.println("✓ Database schema is valid and queryable");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAuctionProperties() {
|
||||
List<Integer> auctions = scraper.discoverDutchAuctions();
|
||||
assertFalse(auctions.isEmpty(), "Should find auctions");
|
||||
|
||||
// Test that we can fetch data for multiple auctions
|
||||
int auctionsToTest = Math.min(2, auctions.size());
|
||||
|
||||
for (int i = 0; i < auctionsToTest; i++) {
|
||||
Integer saleId = auctions.get(i);
|
||||
System.out.println("Testing auction " + (i + 1) + ": " + saleId);
|
||||
|
||||
// This should not throw an exception
|
||||
assertDoesNotThrow(() -> scraper.fetchLotsForSale(saleId),
|
||||
"Should be able to fetch lots for sale " + saleId);
|
||||
}
|
||||
|
||||
System.out.println("✓ Successfully tested " + auctionsToTest + " auctions");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,456 +1,61 @@
|
||||
## Woensdag 3 dec 25
|
||||
|
||||
* [
|
||||
|
||||
woensdag om 16:00
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
145
|
||||
|
||||
Industrie & machines
|
||||
|
||||
Meerdere locaties (45)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/industrie-machines-A3-37358)
|
||||
* [
|
||||
|
||||
woensdag om 16:00
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
38
|
||||
|
||||
D | Raceautotransporters, kraan-polypengrepen en containers uit voorraadaanpassing
|
||||
|
||||
Nieheim, DE
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/d-%7C-raceautotransporters-kraan-polypengrepen-en-containers-uit-voorraadaanpassing-A1-39772)
|
||||
* [
|
||||
|
||||
woensdag om 16:00
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
61
|
||||
|
||||
Voedselverwerkende apparatuur en verpakkingsmachines
|
||||
|
||||
CHOMERAC, FR
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/voedselverwerkende-apparatuur-en-verpakkingsmachines-A1-39319)
|
||||
* [
|
||||
|
||||
woensdag om 16:00
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
117
|
||||
|
||||
Landbouw- & grondverzetmachines
|
||||
|
||||
Meerdere locaties (49)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/landbouw-grondverzetmachines-A3-37375)
|
||||
* [
|
||||
|
||||
woensdag om 17:00
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
261
|
||||
|
||||
Gereedschappen & uitrusting
|
||||
|
||||
Meerdere locaties (36), BE
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/gereedschappen-uitrusting-A3-37367)
|
||||
* [
|
||||
|
||||
woensdag om 18:00
|
||||
|
||||

|
||||
|
||||
1
|
||||
|
||||
Vrachtwagens voor bedrijfsvoertuigen
|
||||
|
||||
Loßburg, DE
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/vrachtwagens-voor-bedrijfsvoertuigen-A7-39531)
|
||||
* [
|
||||
|
||||
woensdag om 19:00
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
61
|
||||
|
||||
Witgoed en accessoires
|
||||
|
||||
Etten-Leur, NL
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/witgoed-en-accessoires-A1-27241)
|
||||
* [
|
||||
|
||||
Opent 28 nov 17:00
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
54
|
||||
|
||||
Collectie Rolex en Cartier horloges
|
||||
|
||||
Dordrecht, NL
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/collectie-rolex-en-cartier-horloges-A1-39398)
|
||||
* [
|
||||
|
||||
woensdag om 19:00
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
254
|
||||
|
||||
SHOWROOMKEUKENS en INBOUWAPPARATUUR
|
||||
|
||||
Tilburg, NL
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/showroomkeukens-en-inbouwapparatuur-A1-39480)
|
||||
* [
|
||||
|
||||
woensdag om 19:00
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
499
|
||||
|
||||
Machines, retourgoederen en restpartijen
|
||||
|
||||
Harlingen, NL
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/machines-retourgoederen-en-restpartijen-A1-39642)
|
||||
* [
|
||||
|
||||
woensdag om 19:00
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
120
|
||||
|
||||
Partijen gereedschap, kantoorinventaris, detailhandelgoederen, decoratie en olijfbomen
|
||||
|
||||
Meerdere locaties (3), NL
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/partijen-gereedschap-kantoorinventaris-detailhandelgoederen-decoratie-en-olijfbomen-A1-27016)
|
||||
* [
|
||||
|
||||
woensdag om 19:00
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
16
|
||||
|
||||
Faillissementsvoertuigen
|
||||
|
||||
Meerdere locaties (3), NL
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/faillissementsvoertuigen-A1-38368)
|
||||
* [
|
||||
|
||||
woensdag om 19:00
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
78
|
||||
|
||||
Personenauto’s, oldtimers, campers en brommobielen
|
||||
|
||||
Buitenpost, NL
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/personenauto%E2%80%99s-oldtimers-campers-en-brommobielen-A1-39508)
|
||||
* [
|
||||
|
||||
woensdag om 19:00
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
391
|
||||
|
||||
Bezorgveiling Faillissement Dvize B.V. – Hyundai Power Products gereedschappen
|
||||
|
||||
Meerdere locaties (2)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/bezorgveiling-faillissement-dvize-b-v-%E2%80%93-hyundai-power-products-gereedschappen-A1-39409)
|
||||
* [
|
||||
|
||||
woensdag om 19:00
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
208
|
||||
|
||||
Kunstplanten en bomen, composiet gevel- en vloerbekleding en akoestische materialen
|
||||
|
||||
De Lier, NL
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/kunstplanten-en-bomen-composiet-gevel-en-vloerbekleding-en-akoestische-materialen-A1-28707)
|
||||
* [
|
||||
|
||||
woensdag om 19:00
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
181
|
||||
|
||||
Metaalbewerkingsmachines, gereedschap en voorraad in verband met bedrijfsverhuizing
|
||||
|
||||
Cuijk, NL
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/metaalbewerkingsmachines-gereedschap-en-voorraad-in-verband-met-bedrijfsverhuizing-A1-39360)
|
||||
* [
|
||||
|
||||
woensdag om 19:00
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
238
|
||||
|
||||
Overstock en magazijnopruiming
|
||||
|
||||
Heesch, NL
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/overstock-en-magazijnopruiming-A1-39538)
|
||||
* [
|
||||
|
||||
woensdag om 19:00
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
47
|
||||
|
||||
Verzamelveiling Scooters en Motoren
|
||||
|
||||
Meerdere locaties (2), NL
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/verzamelveiling-scooters-en-motoren-A1-28428)
|
||||
* [
|
||||
|
||||
woensdag om 19:00
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
338
|
||||
|
||||
Auto's & transport
|
||||
|
||||
Meerdere locaties (109)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/auto%27s-transport-A3-37349)
|
||||
* [
|
||||
|
||||
woensdag om 19:30
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
74
|
||||
|
||||
Gouden juwelen en diamanten
|
||||
|
||||
Meerdere locaties (28)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
](/a/gouden-juwelen-en-diamanten-A1-29562)
|
||||
Configure your devices to use the Pi-hole as their DNS server │
|
||||
│ using: │
|
||||
│ │
|
||||
│ IPv4: 192.168.1.159 │
|
||||
│ IPv6: fdc5:59a6:9ac1:f11f:2c86:25d3:6282:37ef │
|
||||
│ If you have not done so already, the above IP should be set to │
|
||||
│ static. │
|
||||
│ View the web interface at http://pi.hole:80/admin or │
|
||||
│ http://192.168.1.159:80/admin │
|
||||
│ │
|
||||
│ Your Admin Webpage login password is gYj7Enh- │
|
||||
│ │
|
||||
│ │
|
||||
│ To allow your user to use all CLI functions without │
|
||||
│ authentication, │
|
||||
│ refer to https://docs.pi-hole.net/main/post-install/ │
|
||||
├─────────────────────────────────────────────────────────────
|
||||
|
||||
|
||||
127.0.0.1
|
||||
192.168.1.159
|
||||
::1
|
||||
fdc5:59a6:9ac1:f11f:2c86:25d3:6282:37ef
|
||||
fdc5:59a6:9ac1:f11f:bd8c:6e87:65f0:243c
|
||||
fe80::a05b:bbc6:d47f:3002%enp9s0
|
||||
2IXD-XJN9-C337-1K4Y-BBEO-HV1F-3BVI
|
||||
|
||||
https://ollama.lan:9443/#!/wizard - heel-goed-wachtwoord
|
||||
|
||||
[
|
||||
{
|
||||
"domain": "ollama.lan",
|
||||
"answer": "192.168.1.159",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"domain": "hephaestus.lan",
|
||||
"answer": "192.168.1.159",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"domain": "hermes.lan",
|
||||
"answer": "192.168.137.239",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"domain": "atlas.lan",
|
||||
"answer": "192.168.1.100",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"domain": "hub.lan",
|
||||
"answer": "192.168.1.1",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"domain": "ha.lan",
|
||||
"answer": "192.168.1.193",
|
||||
"enabled": true
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user