diff --git a/src/test/java/net/hostsharing/hsadminng/hs/migration/CsvDataImport.java b/src/test/java/net/hostsharing/hsadminng/hs/migration/CsvDataImport.java index b8470174..407e2673 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/migration/CsvDataImport.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/migration/CsvDataImport.java @@ -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); diff --git a/src/test/java/net/hostsharing/hsadminng/hs/migration/ImportHostingAssets.java b/src/test/java/net/hostsharing/hsadminng/hs/migration/ImportHostingAssets.java index daead4b2..9c3c67df 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/migration/ImportHostingAssets.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/migration/ImportHostingAssets.java @@ -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() diff --git a/src/test/java/net/hostsharing/hsadminng/hs/migration/ImportOfficeData.java b/src/test/java/net/hostsharing/hsadminng/hs/migration/ImportOfficeData.java index 5f6156cd..960fcbc9 100644 --- a/src/test/java/net/hostsharing/hsadminng/hs/migration/ImportOfficeData.java +++ b/src/test/java/net/hostsharing/hsadminng/hs/migration/ImportOfficeData.java @@ -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(); diff --git a/src/test/resources/migration/hosting/packet.csv b/src/test/resources/migration/hosting/packet.csv index 6dd955fa..92383a80 100644 --- a/src/test/resources/migration/hosting/packet.csv +++ b/src/test/resources/migration/hosting/packet.csv @@ -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 diff --git a/src/test/resources/migration/office/asset_transactions.csv b/src/test/resources/migration/office/asset_transactions.csv index b36894ab..a0a83e02 100644 --- a/src/test/resources/migration/office/asset_transactions.csv +++ b/src/test/resources/migration/office/asset_transactions.csv @@ -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 diff --git a/src/test/resources/migration/office/business_partners.csv b/src/test/resources/migration/office/business_partners.csv index 4a105642..708f1d47 100644 --- a/src/test/resources/migration/office/business_partners.csv +++ b/src/test/resources/migration/office/business_partners.csv @@ -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; diff --git a/src/test/resources/migration/office/contacts.csv b/src/test/resources/migration/office/contacts.csv index c64a086a..eb58efae 100644 --- a/src/test/resources/migration/office/contacts.csv +++ b/src/test/resources/migration/office/contacts.csv @@ -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 diff --git a/src/test/resources/migration/office/sepa_mandates.csv b/src/test/resources/migration/office/sepa_mandates.csv index e7c71850..c2b8d936 100644 --- a/src/test/resources/migration/office/sepa_mandates.csv +++ b/src/test/resources/migration/office/sepa_mandates.csv @@ -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 diff --git a/src/test/resources/migration/office/share_transactions.csv b/src/test/resources/migration/office/share_transactions.csv index f86cf0a4..d42f9597 100644 --- a/src/test/resources/migration/office/share_transactions.csv +++ b/src/test/resources/migration/office/share_transactions.csv @@ -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