re-add former office-test-data and add FIXMEs from code-review

This commit is contained in:
Michael Hoennig 2024-07-19 11:15:21 +02:00
parent 2639ed0db2
commit 7725329d43
9 changed files with 139 additions and 106 deletions

View File

@ -129,7 +129,7 @@ public class CsvDataImport extends ContextBasedTest {
//System.out.println("persisting #" + entity.hashCode() + ": " + entity);
em.persist(entity);
// uncomment for debugging purposes
em.flush(); // makes it slow, but produces better error messages
// em.flush(); // makes it slow, but produces better error messages
// System.out.println("persisted #" + entity.hashCode() + " as " + entity.getUuid());
} catch (Exception exc) {
System.err.println("failed to persist #" + entity.hashCode() + ": " + entity);

View File

@ -184,13 +184,13 @@ public class ImportHostingAssets extends ImportOfficeData {
assertThat(firstOfEachType(3, CLOUD_SERVER, MANAGED_SERVER, MANAGED_WEBSPACE)).isEqualToIgnoringWhitespace("""
{
3000630=HsHostingAssetEntity(MANAGED_WEBSPACE, hsh00, HA hsh00, MANAGED_SERVER:vm1050, D-1000000:hsh default project:BI hsh00),
3000968=HsHostingAssetEntity(MANAGED_SERVER, vm1061, HA vm1061, D-1015200:rar default project:BI vm1061),
3000978=HsHostingAssetEntity(MANAGED_SERVER, vm1050, HA vm1050, D-1000000:hsh default project:BI vm1050),
3001061=HsHostingAssetEntity(MANAGED_SERVER, vm1068, HA vm1068, D-1000300:mim default project:BI vm1068),
3001094=HsHostingAssetEntity(MANAGED_WEBSPACE, lug00, HA lug00, MANAGED_SERVER:vm1068, D-1000300:mim default project:BI lug00),
3001112=HsHostingAssetEntity(MANAGED_WEBSPACE, mim00, HA mim00, MANAGED_SERVER:vm1068, D-1000300:mim default project:BI mim00),
3023611=HsHostingAssetEntity(CLOUD_SERVER, vm2097, HA vm2097, D-1101800:wws default project:BI vm2097)
3000630=HsHostingAssetEntity(MANAGED_WEBSPACE, hsh00, HA hsh00, MANAGED_SERVER:vm1050, D-1000000:hsh default project:BI hsh00),
3000968=HsHostingAssetEntity(MANAGED_SERVER, vm1061, HA vm1061, D-1015200:rar default project:BI vm1061),
3000978=HsHostingAssetEntity(MANAGED_SERVER, vm1050, HA vm1050, D-1000000:hsh default project:BI vm1050),
3001061=HsHostingAssetEntity(MANAGED_SERVER, vm1068, HA vm1068, D-1000300:mim default project:BI vm1068),
3001094=HsHostingAssetEntity(MANAGED_WEBSPACE, lug00, HA lug00, MANAGED_SERVER:vm1068, D-1000300:mim default project:BI lug00),
3001112=HsHostingAssetEntity(MANAGED_WEBSPACE, mim00, HA mim00, MANAGED_SERVER:vm1068, D-1000300:mim default project:BI mim00),
3023611=HsHostingAssetEntity(CLOUD_SERVER, vm2097, HA vm2097, D-1101800:wws default project:BI vm2097)
}
""");
assertThat(firstOfEachType(
@ -352,9 +352,9 @@ public class ImportHostingAssets extends ImportOfficeData {
final var hive_id = rec.getInteger("hive_id");
final var created = rec.getLocalDate("created");
final var cancelled = rec.getLocalDate("cancelled");
final var cur_inet_addr_id = rec.getInteger("cur_inet_addr_id");
final var old_inet_addr_id = rec.getInteger("old_inet_addr_id");
final var free = rec.getBoolean("free");
final var cur_inet_addr_id = rec.getInteger("cur_inet_addr_id"); // FIXME: import MANAGED_WEBSPACE
final var old_inet_addr_id = rec.getInteger("old_inet_addr_id"); // FIXME: assert that null
final var free = rec.getBoolean("free"); // FIXME: assert that "free webspace => in customer managed server", otherwise ignore
final var biType = determineBiType(basepacket_code);
final var bookingItem = HsBookingItemEntity.builder()

View File

@ -152,38 +152,38 @@ public class ImportOfficeData extends CsvDataImport {
assertThat(toFormattedString(partners)).isEqualToIgnoringWhitespace("""
{
100=partner(P-10003: null null, null),
120=partner(P-10020: null null, null),
122=partner(P-11022: null null, null),
132=partner(P-10152: null null, null),
20=partner(P-10020: null null, null),
190=partner(P-19090: null null, null),
199=partner(P-19999: null null, null),
213=partner(P-10000: null null, null),
22=partner(P-11022: null null, null),
512041=partner(P-11018: null null, null),
512042=partner(P-11019: null null, null),
90=partner(P-19090: null null, null),
99=partner(P-19999: null null, null)
541=partner(P-11018: null null, null),
542=partner(P-11019: null null, null)
}
""");
assertThat(toFormattedString(contacts)).isEqualTo("{}");
assertThat(toFormattedString(debitors)).isEqualToIgnoringWhitespace("""
{
100=debitor(D-1000300: rel(anchor='null null, null', type='DEBITOR'), mim),
120=debitor(D-1002000: rel(anchor='null null, null', type='DEBITOR'), xyz),
122=debitor(D-1102200: rel(anchor='null null, null', type='DEBITOR'), xxx),
132=debitor(D-1015200: rel(anchor='null null, null', type='DEBITOR'), rar),
20=debitor(D-1002000: rel(anchor='null null, null', type='DEBITOR'), xyz),
190=debitor(D-1909000: rel(anchor='null null, null', type='DEBITOR'), yyy),
199=debitor(D-1999900: rel(anchor='null null, null', type='DEBITOR'), zzz),
213=debitor(D-1000000: rel(anchor='null null, null', type='DEBITOR'), hsh),
22=debitor(D-1102200: rel(anchor='null null, null', type='DEBITOR'), xxx),
512041=debitor(D-1101800: rel(anchor='null null, null', type='DEBITOR'), wws),
512042=debitor(D-1101900: rel(anchor='null null, null', type='DEBITOR'), dph),
90=debitor(D-1909000: rel(anchor='null null, null', type='DEBITOR'), yyy),
99=debitor(D-1999900: rel(anchor='null null, null', type='DEBITOR'), zzz)
541=debitor(D-1101800: rel(anchor='null null, null', type='DEBITOR'), wws),
542=debitor(D-1101900: rel(anchor='null null, null', type='DEBITOR'), dph)
}
""");
assertThat(toFormattedString(memberships)).isEqualToIgnoringWhitespace("""
{
100=Membership(M-1000300, P-10003, [2000-12-06,), ACTIVE),
120=Membership(M-1002000, P-10020, [2000-12-06,2016-01-01), UNKNOWN),
122=Membership(M-1102200, P-11022, [2021-04-01,), ACTIVE),
132=Membership(M-1015200, P-10152, [2003-07-12,), ACTIVE),
20=Membership(M-1002000, P-10020, [2000-12-06,2016-01-01), UNKNOWN),
22=Membership(M-1102200, P-11022, [2021-04-01,), ACTIVE),
512041=Membership(M-1101800, P-11018, [2021-05-17,), ACTIVE),
512042=Membership(M-1101900, P-11019, [2021-05-25,), ACTIVE)
541=Membership(M-1101800, P-11018, [2021-05-17,), ACTIVE),
542=Membership(M-1101900, P-11019, [2021-05-25,), ACTIVE)
}
""");
}
@ -206,20 +206,20 @@ public class ImportOfficeData extends CsvDataImport {
assertThat(toFormattedString(partners)).isEqualToIgnoringWhitespace("""
{
100=partner(P-10003: ?? Michael Mellies, Herr Michael Mellies , Michael Mellies),
100=partner(P-10003: ?? Michael Mellis, Herr Michael Mellis , Michael Mellis),
120=partner(P-10020: LP JM GmbH, Herr Philip Meyer-Contract , JM GmbH),
122=partner(P-11022: ?? Test PS, Petra Schmidt , Test PS),
132=partner(P-10152: ?? Ragnar IT-Beratung, Herr Ragnar Richter , Ragnar IT-Beratung),
20=partner(P-10020: LP JM GmbH, Herr Philip Meyer-Contract , JM GmbH),
190=partner(P-19090: NP Camus, Cecilia, Frau Cecilia Camus ),
199=partner(P-19999: null null, null),
213=partner(P-10000: LP Hostsharing e.G., Firma Hostmaster Hostsharing , Hostsharing e.G.),
22=partner(P-11022: ?? Test PS, Petra Schmidt , Test PS),
512041=partner(P-11018: ?? Wasserwerk Südholstein, Frau Christiane Milberg , Wasserwerk Südholstein),
512042=partner(P-11019: ?? Das Perfekte Haus, Herr Richard Wiese , Das Perfekte Haus),
90=partner(P-19090: NP Camus, Cecilia, Frau Cecilia Camus ),
99=partner(P-19999: null null, null)
541=partner(P-11018: ?? Wasserwerk Südholstein, Frau Christiane Milberg , Wasserwerk Südholstein),
542=partner(P-11019: ?? Das Perfekte Haus, Herr Richard Wiese , Das Perfekte Haus)
}
""");
assertThat(toFormattedString(contacts)).isEqualToIgnoringWhitespace("""
{
100=contact(caption='Herr Michael Mellies , Michael Mellies', emailAddresses='{ "main": "michael@mellies.example.org"}'),
100=contact(caption='Herr Michael Mellis , Michael Mellis', emailAddresses='{ "main": "michael@Mellis.example.org"}'),
1200=contact(caption='JM e.K.', emailAddresses='{ "main": "jm-ex-partner@example.org"}'),
1201=contact(caption='Frau Dr. Jenny Meyer-Billing , JM GmbH', emailAddresses='{ "main": "jm-billing@example.org"}'),
1202=contact(caption='Herr Andrew Meyer-Operation , JM GmbH', emailAddresses='{ "main": "am-operation@example.org"}'),
@ -241,7 +241,7 @@ public class ImportOfficeData extends CsvDataImport {
""");
assertThat(toFormattedString(persons)).isEqualToIgnoringWhitespace("""
{
100=person(personType='??', tradeName='Michael Mellies', familyName='Mellies', givenName='Michael'),
100=person(personType='??', tradeName='Michael Mellis', familyName='Mellis', givenName='Michael'),
1200=person(personType='LP', tradeName='JM e.K.'),
1201=person(personType='LP', tradeName='JM GmbH', familyName='Meyer-Billing', givenName='Jenny'),
1202=person(personType='LP', tradeName='JM GmbH', familyName='Meyer-Operation', givenName='Andrew'),
@ -263,31 +263,31 @@ public class ImportOfficeData extends CsvDataImport {
""");
assertThat(toFormattedString(debitors)).isEqualToIgnoringWhitespace("""
{
100=debitor(D-1000300: rel(anchor='?? Michael Mellies', type='DEBITOR', holder='?? Michael Mellies'), mim),
100=debitor(D-1000300: rel(anchor='?? Michael Mellis', type='DEBITOR', holder='?? Michael Mellis'), mim),
120=debitor(D-1002000: rel(anchor='LP JM GmbH', type='DEBITOR', holder='LP JM GmbH'), xyz),
122=debitor(D-1102200: rel(anchor='?? Test PS', type='DEBITOR', holder='?? Test PS'), xxx),
132=debitor(D-1015200: rel(anchor='?? Ragnar IT-Beratung', type='DEBITOR', holder='?? Ragnar IT-Beratung'), rar),
20=debitor(D-1002000: rel(anchor='LP JM GmbH', type='DEBITOR', holder='LP JM GmbH'), xyz),
190=debitor(D-1909000: rel(anchor='NP Camus, Cecilia', type='DEBITOR', holder='NP Camus, Cecilia'), yyy),
199=debitor(D-1999900: rel(anchor='null null, null', type='DEBITOR'), zzz),
213=debitor(D-1000000: rel(anchor='LP Hostsharing e.G.', type='DEBITOR', holder='LP Hostsharing e.G.'), hsh),
22=debitor(D-1102200: rel(anchor='?? Test PS', type='DEBITOR', holder='?? Test PS'), xxx),
512041=debitor(D-1101800: rel(anchor='?? Wasserwerk Südholstein', type='DEBITOR', holder='?? Wasserwerk Südholstein'), wws),
512042=debitor(D-1101900: rel(anchor='?? Das Perfekte Haus', type='DEBITOR', holder='?? Das Perfekte Haus'), dph),
90=debitor(D-1909000: rel(anchor='NP Camus, Cecilia', type='DEBITOR', holder='NP Camus, Cecilia'), yyy),
99=debitor(D-1999900: rel(anchor='null null, null', type='DEBITOR'), zzz)
541=debitor(D-1101800: rel(anchor='?? Wasserwerk Südholstein', type='DEBITOR', holder='?? Wasserwerk Südholstein'), wws),
542=debitor(D-1101900: rel(anchor='?? Das Perfekte Haus', type='DEBITOR', holder='?? Das Perfekte Haus'), dph)
}
""");
assertThat(toFormattedString(memberships)).isEqualToIgnoringWhitespace("""
{
100=Membership(M-1000300, P-10003, [2000-12-06,), ACTIVE),
120=Membership(M-1002000, P-10020, [2000-12-06,2016-01-01), UNKNOWN),
122=Membership(M-1102200, P-11022, [2021-04-01,), ACTIVE),
132=Membership(M-1015200, P-10152, [2003-07-12,), ACTIVE),
20=Membership(M-1002000, P-10020, [2000-12-06,2016-01-01), UNKNOWN),
22=Membership(M-1102200, P-11022, [2021-04-01,), ACTIVE),
512041=Membership(M-1101800, P-11018, [2021-05-17,), ACTIVE),
512042=Membership(M-1101900, P-11019, [2021-05-25,), ACTIVE)
541=Membership(M-1101800, P-11018, [2021-05-17,), ACTIVE),
542=Membership(M-1101900, P-11019, [2021-05-25,), ACTIVE)
}
""");
assertThat(toFormattedString(relations)).isEqualToIgnoringWhitespace("""
{
2000000=rel(anchor='LP Hostsharing e.G.', type='PARTNER', holder='?? Michael Mellies', contact='Herr Michael Mellies , Michael Mellies'),
2000001=rel(anchor='?? Michael Mellies', type='DEBITOR', holder='?? Michael Mellies', contact='Herr Michael Mellies , Michael Mellies'),
2000000=rel(anchor='LP Hostsharing e.G.', type='PARTNER', holder='?? Michael Mellis', contact='Herr Michael Mellis , Michael Mellis'),
2000001=rel(anchor='?? Michael Mellis', type='DEBITOR', holder='?? Michael Mellis', contact='Herr Michael Mellis , Michael Mellis'),
2000002=rel(anchor='LP Hostsharing e.G.', type='PARTNER', holder='?? Ragnar IT-Beratung', contact='Herr Ragnar Richter , Ragnar IT-Beratung'),
2000003=rel(anchor='?? Ragnar IT-Beratung', type='DEBITOR', holder='?? Ragnar IT-Beratung', contact='Herr Ragnar Richter , Ragnar IT-Beratung'),
2000004=rel(anchor='LP Hostsharing e.G.', type='PARTNER', holder='LP Hostsharing e.G.', contact='Firma Hostmaster Hostsharing , Hostsharing e.G.'),
@ -306,13 +306,13 @@ public class ImportOfficeData extends CsvDataImport {
2000017=rel(anchor='null null, null', type='DEBITOR'),
2000018=rel(anchor='LP Hostsharing e.G.', type='OPERATIONS', holder='LP Hostsharing e.G.', contact='Firma Hostmaster Hostsharing , Hostsharing e.G.'),
2000019=rel(anchor='LP Hostsharing e.G.', type='REPRESENTATIVE', holder='LP Hostsharing e.G.', contact='Firma Hostmaster Hostsharing , Hostsharing e.G.'),
2000020=rel(anchor='?? Michael Mellies', type='OPERATIONS', holder='?? Michael Mellies', contact='Herr Michael Mellies , Michael Mellies'),
2000021=rel(anchor='?? Michael Mellies', type='REPRESENTATIVE', holder='?? Michael Mellies', contact='Herr Michael Mellies , Michael Mellies'),
2000022=rel(anchor='?? Michael Mellies', type='SUBSCRIBER', mark='operations-discussion', holder='?? Michael Mellies', contact='Herr Michael Mellies , Michael Mellies'),
2000023=rel(anchor='?? Michael Mellies', type='SUBSCRIBER', mark='operations-announce', holder='?? Michael Mellies', contact='Herr Michael Mellies , Michael Mellies'),
2000024=rel(anchor='?? Michael Mellies', type='SUBSCRIBER', mark='generalversammlung', holder='?? Michael Mellies', contact='Herr Michael Mellies , Michael Mellies'),
2000025=rel(anchor='?? Michael Mellies', type='SUBSCRIBER', mark='members-announce', holder='?? Michael Mellies', contact='Herr Michael Mellies , Michael Mellies'),
2000026=rel(anchor='?? Michael Mellies', type='SUBSCRIBER', mark='members-discussion', holder='?? Michael Mellies', contact='Herr Michael Mellies , Michael Mellies'),
2000020=rel(anchor='?? Michael Mellis', type='OPERATIONS', holder='?? Michael Mellis', contact='Herr Michael Mellis , Michael Mellis'),
2000021=rel(anchor='?? Michael Mellis', type='REPRESENTATIVE', holder='?? Michael Mellis', contact='Herr Michael Mellis , Michael Mellis'),
2000022=rel(anchor='?? Michael Mellis', type='SUBSCRIBER', mark='operations-discussion', holder='?? Michael Mellis', contact='Herr Michael Mellis , Michael Mellis'),
2000023=rel(anchor='?? Michael Mellis', type='SUBSCRIBER', mark='operations-announce', holder='?? Michael Mellis', contact='Herr Michael Mellis , Michael Mellis'),
2000024=rel(anchor='?? Michael Mellis', type='SUBSCRIBER', mark='generalversammlung', holder='?? Michael Mellis', contact='Herr Michael Mellis , Michael Mellis'),
2000025=rel(anchor='?? Michael Mellis', type='SUBSCRIBER', mark='members-announce', holder='?? Michael Mellis', contact='Herr Michael Mellis , Michael Mellis'),
2000026=rel(anchor='?? Michael Mellis', type='SUBSCRIBER', mark='members-discussion', holder='?? Michael Mellis', contact='Herr Michael Mellis , Michael Mellis'),
2000027=rel(anchor='?? Ragnar IT-Beratung', type='OPERATIONS', holder='?? Ragnar IT-Beratung', contact='Herr Ragnar Richter , Ragnar IT-Beratung'),
2000028=rel(anchor='?? Ragnar IT-Beratung', type='SUBSCRIBER', mark='operations-discussion', holder='?? Ragnar IT-Beratung', contact='Herr Ragnar Richter , Ragnar IT-Beratung'),
2000029=rel(anchor='?? Ragnar IT-Beratung', type='SUBSCRIBER', mark='operations-announce', holder='?? Ragnar IT-Beratung', contact='Herr Ragnar Richter , Ragnar IT-Beratung'),
@ -377,6 +377,9 @@ public class ImportOfficeData extends CsvDataImport {
assertThat(toFormattedString(bankAccounts)).isEqualToIgnoringWhitespace("""
{
132=bankAccount(DE37500105177419788228: holder='Michael Mellis', bic='GENODEF1HH2'),
234234=bankAccount(DE37500105177419788228: holder='Michael Mellis', bic='INGDDEFFXXX'),
235600=bankAccount(DE02300209000106531065: holder='JM e.K.', bic='CMCIDEDD'),
235662=bankAccount(DE49500105174516484892: holder='JM GmbH', bic='INGDDEFFXXX'),
30=bankAccount(DE02300209000106531065: holder='Ragnar Richter', bic='GENODEM1GLS'),
386=bankAccount(DE49500105174516484892: holder='Wasserwerk Suedholstein', bic='NOLADE21WHO'),
387=bankAccount(DE89370400440532013000: holder='Richard Wiese Das Perfekte Haus', bic='COBADEFFXXX')
@ -385,6 +388,9 @@ public class ImportOfficeData extends CsvDataImport {
assertThat(toFormattedString(sepaMandates)).isEqualToIgnoringWhitespace("""
{
132=SEPA-Mandate(DE37500105177419788228, HS-10003-20140801, 2013-12-01, [2013-12-01,)),
234234=SEPA-Mandate(DE37500105177419788228, MH12345, 2004-06-12, [2004-06-15,)),
235600=SEPA-Mandate(DE02300209000106531065, JM33344, 2004-01-15, [2004-01-20,2005-06-28)),
235662=SEPA-Mandate(DE49500105174516484892, JM33344, 2005-06-28, [2005-07-01,)),
30=SEPA-Mandate(DE02300209000106531065, HS-10152-20140801, 2013-12-01, [2013-12-01,2016-02-16)),
386=SEPA-Mandate(DE49500105174516484892, HS-11018-20210512, 2021-05-12, [2021-05-17,)),
387=SEPA-Mandate(DE89370400440532013000, HS-11019-20210519, 2021-05-19, [2021-05-25,))
@ -415,7 +421,10 @@ public class ImportOfficeData extends CsvDataImport {
{
241=CoopShareTransaction(M-1000300: 2011-12-05, SUBSCRIPTION, 16, 1000300),
279=CoopShareTransaction(M-1015200: 2013-10-21, SUBSCRIPTION, 1, 1015200),
3=CoopShareTransaction(M-1000300: 2000-12-06, SUBSCRIPTION, 80, 1000300),
33451=CoopShareTransaction(M-1002000: 2000-12-06, SUBSCRIPTION, 2, 1002000, initial share subscription),
33701=CoopShareTransaction(M-1000300: 2005-01-10, SUBSCRIPTION, 40, 1000300, increase),
33810=CoopShareTransaction(M-1002000: 2016-12-31, CANCELLATION, 22, 1002000, membership ended),
3=CoopShareTransaction(M-1000300: 2000-12-06, SUBSCRIPTION, 80, 1000300, initial share subscription),
523=CoopShareTransaction(M-1000300: 2020-12-08, SUBSCRIPTION, 96, 1000300, Kapitalerhoehung),
562=CoopShareTransaction(M-1101800: 2021-05-17, SUBSCRIPTION, 4, 1101800, Beitritt),
563=CoopShareTransaction(M-1101900: 2021-05-25, SUBSCRIPTION, 1, 1101900, Beitritt),
@ -448,7 +457,16 @@ public class ImportOfficeData extends CsvDataImport {
{
1093=CoopAssetsTransaction(M-1000300: 2023-10-05, DEPOSIT, 3072, 1000300, Kapitalerhoehung - Ueberweisung),
1094=CoopAssetsTransaction(M-1000300: 2023-10-06, DEPOSIT, 3072, 1000300, Kapitalerhoehung - Ueberweisung),
358=CoopAssetsTransaction(M-1000300: 2000-12-06, DEPOSIT, 5120, 1000300),
31000=CoopAssetsTransaction(M-1002000: 2000-12-06, DEPOSIT, 128.00, 1002000, for subscription B),
32000=CoopAssetsTransaction(M-1000300: 2005-01-10, DEPOSIT, 2560.00, 1000300, for subscription C),
33001=CoopAssetsTransaction(M-1000300: 2005-01-10, TRANSFER, -512.00, 1000300, for transfer to 10),
33002=CoopAssetsTransaction(M-1002000: 2005-01-10, ADOPTION, 512.00, 1002000, for transfer from 7),
34001=CoopAssetsTransaction(M-1002000: 2016-12-31, CLEARING, -8.00, 1002000, for cancellation D),
34002=CoopAssetsTransaction(M-1002000: 2016-12-31, DISBURSAL, -100.00, 1002000, for cancellation D),
34003=CoopAssetsTransaction(M-1002000: 2016-12-31, LOSS, -20.00, 1002000, for cancellation D),
35001=CoopAssetsTransaction(M-1909000: 2024-01-15, DEPOSIT, 128.00, 1909000, for subscription E),
35002=CoopAssetsTransaction(M-1909000: 2024-01-20, ADJUSTMENT, -128.00, 1909000, chargeback for subscription E, M-1909000:DEP:+128.00),
358=CoopAssetsTransaction(M-1000300: 2000-12-06, DEPOSIT, 5120, 1000300, for subscription A),
442=CoopAssetsTransaction(M-1015200: 2003-07-07, DEPOSIT, 64, 1015200),
577=CoopAssetsTransaction(M-1000300: 2011-12-12, DEPOSIT, 1024, 1000300),
632=CoopAssetsTransaction(M-1015200: 2013-10-21, DEPOSIT, 64, 1015200),
@ -468,11 +486,12 @@ public class ImportOfficeData extends CsvDataImport {
assertThat(toFormattedString(memberships)).isEqualToIgnoringWhitespace("""
{
100=Membership(M-1000300, P-10003, [2000-12-06,), ACTIVE),
120=Membership(M-1002000, P-10020, [2000-12-06,2016-01-01), UNKNOWN),
122=Membership(M-1102200, P-11022, [2021-04-01,), ACTIVE),
132=Membership(M-1015200, P-10152, [2003-07-12,), ACTIVE),
20=Membership(M-1002000, P-10020, [2000-12-06,2016-01-01), UNKNOWN),
22=Membership(M-1102200, P-11022, [2021-04-01,), ACTIVE),
512041=Membership(M-1101800, P-11018, [2021-05-17,), ACTIVE),
512042=Membership(M-1101900, P-11019, [2021-05-25,), ACTIVE)
190=Membership(M-1909000, P-19090, empty, INVALID),
541=Membership(M-1101800, P-11018, [2021-05-17,), ACTIVE),
542=Membership(M-1101900, P-11019, [2021-05-25,), ACTIVE)
}
""");
}
@ -483,7 +502,7 @@ public class ImportOfficeData extends CsvDataImport {
partners.forEach((id, p) -> {
final var partnerRel = p.getPartnerRel();
assertThat(partnerRel).describedAs("partner " + id + " without partnerRel").isNotNull();
if ( id != 99 ) {
if ( id != 199 ) {
assertThat(partnerRel.getContact()).describedAs("partner " + id + " without partnerRel.contact").isNotNull();
assertThat(partnerRel.getContact().getCaption()).describedAs("partner " + id + " without valid partnerRel.contact").isNotNull();
assertThat(partnerRel.getHolder()).describedAs("partner " + id + " without partnerRel.relHolder").isNotNull();

View File

@ -5,7 +5,6 @@ packet_id;basepacket_code;packet_name;bp_id;hive_id;created;cancelled;cur_inet_a
1061;SRV/MGD;vm1068;100;37;2013-08-19;;381;;f
1094;PAC/WEB;lug00;100;37;2013-09-10;;1168;;1
1112;PAC/WEB;mim00;100;37;2013-09-17;;402;;1
#1163;SRV/MGD;vm1083;37;50;2014-01-24;;514;;f
1447;SRV/MGD;vm1093;213;163;2014-11-28;;457;;t
19959;PAC/WEB;dph00;512042;163;2021-06-02;;574;;0
23611;SRV/CLD;vm2097;512041;;2022-08-10;;1790;;0
19959;PAC/WEB;dph00;542;163;2021-06-02;;574;;0
23611;SRV/CLD;vm2097;541;;2022-08-10;;1790;;0

1 packet_id basepacket_code packet_name bp_id hive_id created cancelled cur_inet_addr_id old_inet_addr_id free
5 1061 SRV/MGD vm1068 100 37 2013-08-19 381 f
6 1094 PAC/WEB lug00 100 37 2013-09-10 1168 1
7 1112 PAC/WEB mim00 100 37 2013-09-17 402 1
#1163 SRV/MGD vm1083 37 50 2014-01-24 514 f
8 1447 SRV/MGD vm1093 213 163 2014-11-28 457 t
9 19959 PAC/WEB dph00 512042 542 163 2021-06-02 574 0
10 23611 SRV/CLD vm2097 512041 541 2022-08-10 1790 0

View File

@ -1,10 +1,19 @@
member_asset_id;bp_id;date;action;amount;comment
358;100;2000-12-06;PAYMENT;5120;
442;132;2003-07-07;PAYMENT;64;
577;100;2011-12-12;PAYMENT;1024;
632;132;2013-10-21;PAYMENT;64;
885;100;2020-12-15;PAYMENT;6144;Einzahlung
924;512041;2021-05-21;PAYMENT;256;Beitritt - Lastschrift
925;512042;2021-05-31;PAYMENT;64;Beitritt - Lastschrift
1093;100;2023-10-05;PAYMENT;3072;Kapitalerhoehung - Ueberweisung
1094;100;2023-10-06;PAYMENT;3072;Kapitalerhoehung - Ueberweisung
member_asset_id; bp_id; date; action; amount; comment
358; 100; 2000-12-06; PAYMENT; 5120; for subscription A
442; 132; 2003-07-07; PAYMENT; 64;
577; 100; 2011-12-12; PAYMENT; 1024;
632; 132; 2013-10-21; PAYMENT; 64;
885; 100; 2020-12-15; PAYMENT; 6144; Einzahlung
924; 541; 2021-05-21; PAYMENT; 256; Beitritt - Lastschrift
925; 542; 2021-05-31; PAYMENT; 64; Beitritt - Lastschrift
1093; 100; 2023-10-05; PAYMENT; 3072; Kapitalerhoehung - Ueberweisung
1094; 100; 2023-10-06; PAYMENT; 3072; Kapitalerhoehung - Ueberweisung
31000; 120; 2000-12-06; PAYMENT; 128.00; for subscription B
32000; 100; 2005-01-10; PAYMENT; 2560.00; for subscription C
33001; 100; 2005-01-10; HANDOVER; -512.00; for transfer to 10
33002; 120; 2005-01-10; ADOPTION; 512.00; for transfer from 7
34001; 120; 2016-12-31; CLEARING; -8.00; for cancellation D
34002; 120; 2016-12-31; PAYBACK; -100.00; for cancellation D
34003; 120; 2016-12-31; LOSS; -20.00; for cancellation D
35001; 190; 2024-01-15; PAYMENT; 128.00; for subscription E
35002; 190; 2024-01-20; ADJUSTMENT;-128.00; chargeback for subscription E

1 member_asset_id bp_id date action amount comment
2 358 100 2000-12-06 PAYMENT 5120 for subscription A
3 442 132 2003-07-07 PAYMENT 64
4 577 100 2011-12-12 PAYMENT 1024
5 632 132 2013-10-21 PAYMENT 64
6 885 100 2020-12-15 PAYMENT 6144 Einzahlung
7 924 512041 541 2021-05-21 PAYMENT 256 Beitritt - Lastschrift
8 925 512042 542 2021-05-31 PAYMENT 64 Beitritt - Lastschrift
9 1093 100 2023-10-05 PAYMENT 3072 Kapitalerhoehung - Ueberweisung
10 1094 100 2023-10-06 PAYMENT 3072 Kapitalerhoehung - Ueberweisung
11 31000 120 2000-12-06 PAYMENT 128.00 for subscription B
12 32000 100 2005-01-10 PAYMENT 2560.00 for subscription C
13 33001 100 2005-01-10 HANDOVER -512.00 for transfer to 10
14 33002 120 2005-01-10 ADOPTION 512.00 for transfer from 7
15 34001 120 2016-12-31 CLEARING -8.00 for cancellation D
16 34002 120 2016-12-31 PAYBACK -100.00 for cancellation D
17 34003 120 2016-12-31 LOSS -20.00 for cancellation D
18 35001 190 2024-01-15 PAYMENT 128.00 for subscription E
19 35002 190 2024-01-20 ADJUSTMENT -128.00 chargeback for subscription E

View File

@ -2,9 +2,9 @@ bp_id;member_id;member_code;member_since;member_until;member_role;author_contrac
100;10003;hsh00-mim;2000-12-06;;Aufsichtsrat;;2001-04-24;0;0;GROSS;DE217249198
132;10152;hsh00-rar;2003-07-12;;;;;0;0;GROSS;DE 236 109 136
213;10000;hsh00-hsh;;;Hostsharing eG;;;1;0;GROSS;
512041;11018;hsh00-wws;2021-05-17;;;;;0;0;GROSS;
512042;11019;hsh00-dph;2021-05-25;;;;;0;0;GROSS;
20;10020;hsh00-xyz;2000-12-06;2015-12-31;;;;false;false;GROSS;
22;11022;hsh00-xxx;2021-04-01;;;;;true;true;GROSS;
90;19090;hsh00-yyy;;;;;;true;true;GROSS;
99;19999;hsh00-zzz;;;;;;false;false;GROSS;
541;11018;hsh00-wws;2021-05-17;;;;;0;0;GROSS;
542;11019;hsh00-dph;2021-05-25;;;;;0;0;GROSS;
120;10020;hsh00-xyz;2000-12-06;2015-12-31;;;;false;false;GROSS;
122;11022;hsh00-xxx;2021-04-01;;;;;true;true;GROSS;
190;19090;hsh00-yyy;;;;;;true;true;GROSS;
199;19999;hsh00-zzz;;;;;;false;false;GROSS;

1 bp_id member_id member_code member_since member_until member_role author_contract nondisc_contract free exempt_vat indicator_vat uid_vat
2 100 10003 hsh00-mim 2000-12-06 Aufsichtsrat 2001-04-24 0 0 GROSS DE217249198
3 132 10152 hsh00-rar 2003-07-12 0 0 GROSS DE 236 109 136
4 213 10000 hsh00-hsh Hostsharing eG 1 0 GROSS
5 512041 541 11018 hsh00-wws 2021-05-17 0 0 GROSS
6 512042 542 11019 hsh00-dph 2021-05-25 0 0 GROSS
7 20 120 10020 hsh00-xyz 2000-12-06 2015-12-31 false false GROSS
8 22 122 11022 hsh00-xxx 2021-04-01 true true GROSS
9 90 190 19090 hsh00-yyy true true GROSS
10 99 199 19999 hsh00-zzz false false GROSS

View File

@ -1,35 +1,35 @@
contact_id;bp_id;salut;first_name;last_name;title;firma;co;street;zipcode;city;country;phone_private;phone_office;phone_mobile;fax;email;roles
contact_id; bp_id; salut; first_name; last_name; title; firma; co; street; zipcode; city; country; phone_private; phone_office; phone_mobile; fax; email; roles
# Hostsharing, the mandate itself
212;213;Firma;Hostmaster;Hostsharing;;Hostsharing e.G.;;;;;Germany;;;;;hostmaster@hostsharing.net;billing,operation,contractual,partner
212; 213; Firma; Hostmaster; Hostsharing; ; Hostsharing e.G.; ; ; ; ; Germany; ; ; ; ; hostmaster@hostsharing.net; billing,operation,contractual,partner
# some natural persons
100;100;Herr;Michael;Mellies;;Michael Mellies;;Dr. Bolte Str. 50;26524;Hage;Germany;;+49 4931/1234567;+49/1522123455;+49 40 912345-9;michael@mellies.example.org;billing,operation,contractual,partner,subscriber:members-announce,subscriber:operations-announce,subscriber:operations-discussion,subscriber:members-discussion,subscriber:generalversammlung
132;132;Herr;Ragnar;Richter;;Ragnar IT-Beratung;;Vioktoriastraße 114;70197;Stuttgart;Germany;+49 711 987654-1;+49 711 987654-2;;+49 711 87654-3;hostsharing@ragnar-richter.de;billing,operation,partner,subscriber:operations-announce,subscriber:operations-discussion
100; 100; Herr; Michael; Mellis; ; Michael Mellis; ; Dr. Bolte Str. 50; 26524; Hage; Germany; ; +49 4931/1234567; +49/1522123455; +49 40 912345-9; michael@Mellis.example.org; billing,operation,contractual,partner,subscriber:members-announce,subscriber:operations-announce,subscriber:operations-discussion,subscriber:members-discussion,subscriber:generalversammlung
132; 132; Herr; Ragnar; Richter; ; Ragnar IT-Beratung; ; Vioktoriastraße 114; 70197; Stuttgart; Germany; +49 711 987654-1; +49 711 987654-2; ; +49 711 87654-3; hostsharing@ragnar-richter.de; billing,operation,partner,subscriber:operations-announce,subscriber:operations-discussion
# eine juristische Person mit drei separaten Ansprechpartnern, vip-contact und ex-partner
1200; 20;; ; ; ; JM e.K.;; Wiesenweg 15; 12335; Berlin; DE; +49 30 6666666; +49 30 5555555; ; +49 30 6666666; jm-ex-partner@example.org; ex-partner
1201; 20; Frau; Jenny; Meyer-Billing; Dr.; JM GmbH;; Waldweg 5; 11001; Berlin; DE; +49 30 7777777; +49 30 1111111; ; +49 30 2222222; jm-billing@example.org; billing
1202; 20; Herr; Andrew; Meyer-Operation; ; JM GmbH;; Waldweg 5; 11001; Berlin; DE; +49 30 6666666; +49 30 3333333; ; +49 30 4444444; am-operation@example.org; operation,vip-contact,subscriber:operations-announce
1203; 20; Herr; Philip; Meyer-Contract; ; JM GmbH;; Waldweg 5; 11001; Berlin; DE; +49 30 6666666; +49 30 5555555; ; +49 30 6666666; pm-partner@example.org; partner,contractual,subscriber:members-announce,subscriber:customers-announce
1204; 20; Frau; Tammy; Meyer-VIP; ; JM GmbH;; Waldweg 5; 11001; Berlin; DE; +49 30 999999; +49 30 999999; ; +49 30 6666666; tm-vip@example.org; vip-contact
1200; 120; ; ; ; ; JM e.K.; ; Wiesenweg 15; 12335; Berlin; DE; +49 30 6666666; +49 30 5555555; ; +49 30 6666666; jm-ex-partner@example.org; ex-partner
1201; 120; Frau; Jenny; Meyer-Billing; Dr.; JM GmbH; ; Waldweg 5; 11001; Berlin; DE; +49 30 7777777; +49 30 1111111; ; +49 30 2222222; jm-billing@example.org; billing
1202; 120; Herr; Andrew; Meyer-Operation; ; JM GmbH; ; Waldweg 5; 11001; Berlin; DE; +49 30 6666666; +49 30 3333333; ; +49 30 4444444; am-operation@example.org; operation,vip-contact,subscriber:operations-announce
1203; 120; Herr; Philip; Meyer-Contract; ; JM GmbH; ; Waldweg 5; 11001; Berlin; DE; +49 30 6666666; +49 30 5555555; ; +49 30 6666666; pm-partner@example.org; partner,contractual,subscriber:members-announce,subscriber:customers-announce
1204; 120; Frau; Tammy; Meyer-VIP; ; JM GmbH; ; Waldweg 5; 11001; Berlin; DE; +49 30 999999; +49 30 999999; ; +49 30 6666666; tm-vip@example.org; vip-contact
# eine juristische Person mit nur einem Ansprechpartner und explizitem contractual
1301; 22; ; Petra; Schmidt; ; Test PS;; ; ; ; ; ; ; ; ; ps@example.com; partner,billing,contractual,operation
1301; 122; ; Petra; Schmidt; ; Test PS; ; ; ; ; ; ; ; ; ; ps@example.com; partner,billing,contractual,operation
# eine natürliche Person, die nur Subscriber ist
1401; 20; Frau; Frauke; Fanninga; ; ; ; Am Walde 1; 29456; Hitzacker; DE; ; ; ;; ff@example.org; subscriber:operations-announce
1401; 120; Frau; Frauke; Fanninga; ; ; ; Am Walde 1; 29456; Hitzacker; DE; ; ; ; ; ff@example.org; subscriber:operations-announce
# eine natürliche Person als Partner
1501; 90; Frau; Cecilia; Camus; ; ; ; Rue d'Avignion 60; 45000; Orléans; FR; ; ; ;; cc@example.org; partner,contractual,billing,operation
1501; 190; Frau; Cecilia; Camus; ; ; ; Rue d'Avignion 60; 45000; Orléans; FR; ; ; ; ; cc@example.org; partner,contractual,billing,operation
# some more contacts of realistic business partners
90436;512041;Frau;Christiane;Milberg;;Wasserwerk Südholstein;;Am Wasserwerk 1-3;25491;Hetlingen;Germany;;;+49 4103 12345-1;;rechnung@ww-sholst.example.org;billing,partner,subscriber:members-discussion,contractual,subscriber:members-announce,subscriber:generalversammlung
90437;512042;Herr;Richard;Wiese;;Das Perfekte Haus;;Kennedyplatz 11;45279;Essen;Germany;;;+49-172-12345;;admin@das-perfekte-haus.example.org;operation,partner,subscriber:members-discussion,contractual,subscriber:operations-announce,subscriber:operations-discussion,subscriber:members-announce,subscriber:generalversammlung
90438;512041;Herr;Karim;Metzger;;Wasswerwerk Südholstein;;Am Wasserwerk 1-3;25491;Hetlingen;Germany;;+49 4103 12345-2;;;karim.metzger@ww-sholst.example.org;operation,subscriber:operations-announce,subscriber:operations-discussion
90590;512042;Herr;Inhaber R.;Wiese;;Das Perfekte Haus;Client-ID 515217;Essen, Kastanienallee 81;30127;Hannover;Germany;;;;;515217@kkemail.example.org;billing
90629;132;;Ragnar;Richter;;;;;;;;;;;;mail@ragnar-richter..example.org;contractual,subscriber:members-announce,subscriber:members-discussion,subscriber:generalversammlung
90677;132;;Eike;Henning;;;;;;;;;;;;hostsharing@eike-henning..example.org;operation,subscriber:operations-announce,subscriber:operations-discussion
90698;132;;Jan;Henning;;;;;;;;;01577 12345678;;;mail@jan-henning.example.org;operation
90436; 541; Frau; Christiane; Milberg; ; Wasserwerk Südholstein; ; Am Wasserwerk 1-3; 25491; Hetlingen; Germany; ; ; +49 4103 12345-1; ; rechnung@ww-sholst.example.org; billing,partner,subscriber:members-discussion,contractual,subscriber:members-announce,subscriber:generalversammlung
90437; 542; Herr; Richard; Wiese; ; Das Perfekte Haus; ; Kennedyplatz 11; 45279; Essen; Germany; ; ; +49-172-12345; ; admin@das-perfekte-haus.example.org; operation,partner,subscriber:members-discussion,contractual,subscriber:operations-announce,subscriber:operations-discussion,subscriber:members-announce,subscriber:generalversammlung
90438; 541; Herr; Karim; Metzger; ; Wasswerwerk Südholstein; ; Am Wasserwerk 1-3; 25491; Hetlingen; Germany; ; +49 4103 12345-2; ; ; karim.metzger@ww-sholst.example.org; operation,subscriber:operations-announce,subscriber:operations-discussion
90590; 542; Herr; Inhaber R.; Wiese; ; Das Perfekte Haus; Client-ID 515217; Essen, Kastanienallee 81; 30127; Hannover; Germany; ; ; ; ; 515217@kkemail.example.org; billing
90629; 132; ; Ragnar; Richter; ; ; ; ; ; ; ; ; ; ; ; mail@ragnar-richter..example.org; contractual,subscriber:members-announce,subscriber:members-discussion,subscriber:generalversammlung
90677; 132; ; Eike; Henning; ; ; ; ; ; ; ; ; ; ; ; hostsharing@eike-henning..example.org; operation,subscriber:operations-announce,subscriber:operations-discussion
90698; 132; ; Jan; Henning; ; ; ; ; ; ; ; ; 01577 12345678; ; ; mail@jan-henning.example.org; operation

Can't render this file because it has a wrong number of fields in line 11.

View File

@ -1,5 +1,8 @@
sepa_mandat_id;bp_id;bank_customer;bank_name;bank_iban;bank_bic;mandat_ref;mandat_signed;mandat_since;mandat_until;mandat_used
30;132;Ragnar Richter;GLS Gemeinschaftsbank eG;DE02300209000106531065;GENODEM1GLS;HS-10152-20140801;2013-12-01;2013-12-01;2016-02-15;2014-01-20
132;100;Michael Mellis;Hamburger Volksbank;DE37500105177419788228;GENODEF1HH2;HS-10003-20140801;2013-12-01;2013-12-01;;2022-12-31
386;512041;Wasserwerk Suedholstein;Sparkasse Westholstein;DE49500105174516484892;NOLADE21WHO;HS-11018-20210512;2021-05-12;2021-05-17;;2022-12-31
387;512042;Richard Wiese Das Perfekte Haus;Commerzbank Wuppertal;DE89370400440532013000;COBADEFFXXX;HS-11019-20210519;2021-05-19;2021-05-25;;2022-12-31
386;541;Wasserwerk Suedholstein;Sparkasse Westholstein;DE49500105174516484892;NOLADE21WHO;HS-11018-20210512;2021-05-12;2021-05-17;;2022-12-31
387;542;Richard Wiese Das Perfekte Haus;Commerzbank Wuppertal;DE89370400440532013000;COBADEFFXXX;HS-11019-20210519;2021-05-19;2021-05-25;;2022-12-31
234234;100;Michael Mellis;ING Bank AG;DE37500105177419788228;INGDDEFFXXX;MH12345;2004-06-12;2004-06-15;;2022-10-20
235600;120;JM e.K.;Targobank AG;DE02300209000106531065;CMCIDEDD;JM33344;2004-01-15;2004-01-20;2005-06-27 ;2016-01-18
235662;120;JM GmbH;ING Bank AG;DE49500105174516484892;INGDDEFFXXX;JM33344;2005-06-28;2005-07-01;;2016-01-18

1 sepa_mandat_id bp_id bank_customer bank_name bank_iban bank_bic mandat_ref mandat_signed mandat_since mandat_until mandat_used
2 30 132 Ragnar Richter GLS Gemeinschaftsbank eG DE02300209000106531065 GENODEM1GLS HS-10152-20140801 2013-12-01 2013-12-01 2016-02-15 2014-01-20
3 132 100 Michael Mellis Hamburger Volksbank DE37500105177419788228 GENODEF1HH2 HS-10003-20140801 2013-12-01 2013-12-01 2022-12-31
4 386 512041 541 Wasserwerk Suedholstein Sparkasse Westholstein DE49500105174516484892 NOLADE21WHO HS-11018-20210512 2021-05-12 2021-05-17 2022-12-31
5 387 512042 542 Richard Wiese Das Perfekte Haus Commerzbank Wuppertal DE89370400440532013000 COBADEFFXXX HS-11019-20210519 2021-05-19 2021-05-25 2022-12-31
6 234234 100 Michael Mellis ING Bank AG DE37500105177419788228 INGDDEFFXXX MH12345 2004-06-12 2004-06-15 2022-10-20
7 235600 120 JM e.K. Targobank AG DE02300209000106531065 CMCIDEDD JM33344 2004-01-15 2004-01-20 2005-06-27 2016-01-18
8 235662 120 JM GmbH ING Bank AG DE49500105174516484892 INGDDEFFXXX JM33344 2005-06-28 2005-07-01 2016-01-18

View File

@ -1,9 +1,12 @@
member_share_id;bp_id;date;action;quantity;comment
3;100;2000-12-06;SUBSCRIPTION;80;
3;100;2000-12-06;SUBSCRIPTION;80;initial share subscription
90;132;2003-07-12;SUBSCRIPTION;1;
241;100;2011-12-05;SUBSCRIPTION;16;
279;132;2013-10-21;SUBSCRIPTION;1;
523;100;2020-12-08;SUBSCRIPTION;96;Kapitalerhoehung
562;512041;2021-05-17;SUBSCRIPTION;4;Beitritt
563;512042;2021-05-25;SUBSCRIPTION;1;Beitritt
562;541;2021-05-17;SUBSCRIPTION;4;Beitritt
563;542;2021-05-25;SUBSCRIPTION;1;Beitritt
721;100;2023-10-10;SUBSCRIPTION;96;Kapitalerhoehung
33451;120;2000-12-06;SUBSCRIPTION;2;initial share subscription
33701;100;2005-01-10;SUBSCRIPTION;40;increase
33810;120;2016-12-31;UNSUBSCRIPTION;22;membership ended

1 member_share_id bp_id date action quantity comment
2 3 100 2000-12-06 SUBSCRIPTION 80 initial share subscription
3 90 132 2003-07-12 SUBSCRIPTION 1
4 241 100 2011-12-05 SUBSCRIPTION 16
5 279 132 2013-10-21 SUBSCRIPTION 1
6 523 100 2020-12-08 SUBSCRIPTION 96 Kapitalerhoehung
7 562 512041 541 2021-05-17 SUBSCRIPTION 4 Beitritt
8 563 512042 542 2021-05-25 SUBSCRIPTION 1 Beitritt
9 721 100 2023-10-10 SUBSCRIPTION 96 Kapitalerhoehung
10 33451 120 2000-12-06 SUBSCRIPTION 2 initial share subscription
11 33701 100 2005-01-10 SUBSCRIPTION 40 increase
12 33810 120 2016-12-31 UNSUBSCRIPTION 22 membership ended