sepafm 1.1.8 → 1.1.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +8 -6
- data/Rakefile +1 -1
- data/lib/sepa/application_request.rb +12 -18
- data/lib/sepa/application_response.rb +0 -2
- data/lib/sepa/attribute_checks.rb +33 -28
- data/lib/sepa/banks/danske/danske_response.rb +9 -25
- data/lib/sepa/banks/danske/soap_danske.rb +1 -1
- data/lib/sepa/banks/nordea/nordea_response.rb +2 -16
- data/lib/sepa/banks/op/op_response.rb +5 -23
- data/lib/sepa/banks/samlink/samlink_response.rb +35 -0
- data/lib/sepa/banks/samlink/soap_samlink.rb +14 -0
- data/lib/sepa/certificates/samlink_certificate.pem +29 -0
- data/lib/sepa/certificates/samlink_root_certificate.pem +32 -0
- data/lib/sepa/client.rb +35 -8
- data/lib/sepa/error_messages.rb +16 -18
- data/lib/sepa/response.rb +7 -11
- data/lib/sepa/soap_builder.rb +7 -17
- data/lib/sepa/utilities.rb +4 -5
- data/lib/sepa/version.rb +1 -1
- data/lib/sepa/wsdl/wsdl_samlink_cert_production.xml +82 -0
- data/lib/sepa/wsdl/wsdl_samlink_cert_test.xml +82 -0
- data/lib/sepa/wsdl/wsdl_samlink_production.xml +160 -0
- data/lib/sepa/wsdl/wsdl_samlink_test.xml +160 -0
- data/lib/sepa/xml_schemas/samlink/CertApplicationRequest.xsd +105 -0
- data/lib/sepa/xml_schemas/samlink/CertApplicationResponse.xsd +88 -0
- data/lib/sepa/xml_templates/application_request/download_file.xml +0 -1
- data/lib/sepa/xml_templates/application_request/download_file_list.xml +0 -1
- data/lib/sepa/xml_templates/application_request/samlink/get_certificate.xml +12 -0
- data/lib/sepa/xml_templates/application_request/samlink/renew_certificate.xml +29 -0
- data/lib/sepa/xml_templates/soap/samlink/get_certificate.xml +14 -0
- data/lib/sepa/xml_templates/soap/samlink/renew_certificate.xml +14 -0
- data/lib/sepafm.rb +43 -31
- data/readme.md +1 -0
- data/sepafm.gemspec +2 -2
- data/test/custom_assertions.rb +30 -28
- data/test/sepa/banks/danske/danske_cert_response_test.rb +13 -10
- data/test/sepa/banks/danske/danske_generic_soap_builder_test.rb +9 -31
- data/test/sepa/banks/danske/danske_get_bank_cert_test.rb +4 -5
- data/test/sepa/banks/danske/danske_response_test.rb +2 -3
- data/test/sepa/banks/danske/responses/create_cert_corrupted.xml +15 -0
- data/test/sepa/banks/nordea/nordea_application_request_test.rb +4 -6
- data/test/sepa/banks/nordea/nordea_application_response_test.rb +14 -15
- data/test/sepa/banks/nordea/nordea_cert_request_soap_builder_test.rb +1 -3
- data/test/sepa/banks/nordea/nordea_generic_soap_builder_test.rb +6 -16
- data/test/sepa/banks/nordea/nordea_response_test.rb +11 -11
- data/test/sepa/banks/op/op_cert_application_request_test.rb +1 -1
- data/test/sepa/banks/op/op_cert_request_soap_builder_test.rb +0 -1
- data/test/sepa/banks/op/op_response_test.rb +2 -2
- data/test/sepa/banks/samlink/responses/dfl.xml +21 -0
- data/test/sepa/banks/samlink/responses/gc_error_30.xml +21 -0
- data/test/sepa/banks/samlink/responses/rc.xml +21 -0
- data/test/sepa/banks/samlink/samlink_application_request_test.rb +36 -0
- data/test/sepa/banks/samlink/samlink_cert_application_request_test.rb +13 -0
- data/test/sepa/banks/samlink/samlink_cert_request_soap_builder_test.rb +13 -0
- data/test/sepa/banks/samlink/samlink_generic_soap_builder_test.rb +34 -0
- data/test/sepa/banks/samlink/samlink_renew_cert_application_request_test.rb +36 -0
- data/test/sepa/banks/samlink/samlink_renew_cert_request_soap_builder_test.rb +26 -0
- data/test/sepa/banks/samlink/samlink_response_test.rb +71 -0
- data/test/sepa/client_test.rb +32 -6
- data/test/sepa/fixtures.rb +169 -7
- data/test/sepa/sepa_test.rb +1 -1
- data/test/test_helper.rb +8 -7
- data/test_client/data/certs_example.rb +9 -9
- data/test_client/data/params_example.rb +18 -19
- data/test_client/test_client.rb +6 -0
- metadata +41 -5
data/test/sepa/fixtures.rb
CHANGED
@@ -77,7 +77,7 @@ Sn4Uz7Zjk3UrBIbMYEv0u2mcCypwsb0nGE5/gzDPjGE9cxWW+rXARIs+sNQVClnh
|
|
77
77
|
language: 'FI',
|
78
78
|
file_type: 'TITO',
|
79
79
|
content: encode("haisuli"),
|
80
|
-
file_reference: "11111111A12006030329501800000014"
|
80
|
+
file_reference: "11111111A12006030329501800000014",
|
81
81
|
}
|
82
82
|
end
|
83
83
|
|
@@ -154,7 +154,7 @@ jo2ekdSDdw8qxKyxj1piv8oYzMd4fCjCpL+WDZtq7mdLErVZ92gH
|
|
154
154
|
customer_id: '11111111',
|
155
155
|
environment: 'test',
|
156
156
|
signing_csr: signing_csr,
|
157
|
-
pin: '1234567890'
|
157
|
+
pin: '1234567890',
|
158
158
|
}
|
159
159
|
end
|
160
160
|
|
@@ -245,16 +245,16 @@ GuNaWLWOhkOqCtAdNkSGeq/ZKbjYHolGo5FBQqdJnuz0r3I5nfLUNAHXNg==
|
|
245
245
|
customer_id: '1000010583',
|
246
246
|
environment: 'test',
|
247
247
|
signing_csr: signing_csr,
|
248
|
-
pin: '2251401483958635'
|
248
|
+
pin: '2251401483958635',
|
249
249
|
}
|
250
250
|
end
|
251
251
|
|
252
252
|
def danske_get_bank_cert_params
|
253
253
|
{
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
254
|
+
bank: :danske,
|
255
|
+
command: :get_bank_certificate,
|
256
|
+
bank_root_cert_serial: '1111110002',
|
257
|
+
customer_id: '360817',
|
258
258
|
}
|
259
259
|
end
|
260
260
|
|
@@ -437,3 +437,165 @@ CsajqZag/Aoxv/Y=
|
|
437
437
|
encryption_private_key: encryption_private_key,
|
438
438
|
}
|
439
439
|
end
|
440
|
+
|
441
|
+
def samlink_get_certificate_params
|
442
|
+
{
|
443
|
+
bank: :samlink,
|
444
|
+
command: :get_certificate,
|
445
|
+
environment: :production,
|
446
|
+
customer_id: 1,
|
447
|
+
pin: 1,
|
448
|
+
signing_csr: "-----BEGIN CERTIFICATE REQUEST-----
|
449
|
+
MIICmjCCAYICAQAwVTELMAkGA1UEBhMCRkkxETAPBgNVBAQTCDEyMzQ1Njc4MRAw
|
450
|
+
DgYDVQQDEwdURVNUIE9ZMSEwHwYDVQQKExhBaW5laXN0b3BhbHZlbHV0LVNhbWxp
|
451
|
+
bmswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCt3PwhmsjYB4duHs0Q
|
452
|
+
CG0yGqesHooIwwtD4AU05G6VsSSQJJkd5L0FiU7HGUo6TPGefXEbWB/ZkY44qC6+
|
453
|
+
Elx68M0yG7LJVzpZlff2s1JOBiUw9pJtiZOkmNepToki5kUy7nnpF7xl6yK+EXCs
|
454
|
+
dmHrKTFoDZ+PTkKDbA3BQ5SK/J5LlfXLq4V8C32Eg+7lIfFm/2o94UEXUIXqJKWv
|
455
|
+
hMrx9PTB6epw9wS86yfvaCiL5Kp5A5Z1uLAHqr3nqgSHBrKagxDHPeyEjHBdgdBw
|
456
|
+
VCAwsdrtd93h8mrnyh4rToNdqm/3D42VcVZ9STnByXTnMDNdn78Z3F/Oxf+wuo2C
|
457
|
+
mEJdAgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQEAAXnqgjiMeGxhSQpz3W8BaylZ
|
458
|
+
gkwDeB/MQxz3IJe4j0wCVLAphf6/ub8ocvgpV/IZgM9miMuo9RuhxTAcibyrlB03
|
459
|
+
6h3GHMZFZThGNTXx4yQWPXk2znNgWRnGF/Pt5DScLPfwMDwbEQktNgXQb95yt5vA
|
460
|
+
FjUzP5EiwK8JW2yoludqpYYJ3VEtzNjki3BM8Ud8W/7moMq0408u63g/mVTOtmaZ
|
461
|
+
VAyoklxOeq7ItHW2Pmm8HlCeH6VNaFBaT+7CHivO7vtRNJsjb7yrPMrnRNJ8u45X
|
462
|
+
iJCne0qYwkRCagdluvtG6Pr9zk9LS/d+kgt6b2NAQ2fQpocRgMLlDyS89qEQog==
|
463
|
+
-----END CERTIFICATE REQUEST-----",
|
464
|
+
}
|
465
|
+
end
|
466
|
+
|
467
|
+
def samlink_renew_certificate_params
|
468
|
+
signing_csr = "-----BEGIN CERTIFICATE REQUEST-----
|
469
|
+
MIICmjCCAYICAQAwVTELMAkGA1UEBhMCRkkxETAPBgNVBAQTCDEyMzQ1Njc4MRAw
|
470
|
+
DgYDVQQDEwdURVNUIE9ZMSEwHwYDVQQKExhBaW5laXN0b3BhbHZlbHV0LVNhbWxp
|
471
|
+
bmswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCt3PwhmsjYB4duHs0Q
|
472
|
+
CG0yGqesHooIwwtD4AU05G6VsSSQJJkd5L0FiU7HGUo6TPGefXEbWB/ZkY44qC6+
|
473
|
+
Elx68M0yG7LJVzpZlff2s1JOBiUw9pJtiZOkmNepToki5kUy7nnpF7xl6yK+EXCs
|
474
|
+
dmHrKTFoDZ+PTkKDbA3BQ5SK/J5LlfXLq4V8C32Eg+7lIfFm/2o94UEXUIXqJKWv
|
475
|
+
hMrx9PTB6epw9wS86yfvaCiL5Kp5A5Z1uLAHqr3nqgSHBrKagxDHPeyEjHBdgdBw
|
476
|
+
VCAwsdrtd93h8mrnyh4rToNdqm/3D42VcVZ9STnByXTnMDNdn78Z3F/Oxf+wuo2C
|
477
|
+
mEJdAgMBAAGgADANBgkqhkiG9w0BAQUFAAOCAQEAAXnqgjiMeGxhSQpz3W8BaylZ
|
478
|
+
gkwDeB/MQxz3IJe4j0wCVLAphf6/ub8ocvgpV/IZgM9miMuo9RuhxTAcibyrlB03
|
479
|
+
6h3GHMZFZThGNTXx4yQWPXk2znNgWRnGF/Pt5DScLPfwMDwbEQktNgXQb95yt5vA
|
480
|
+
FjUzP5EiwK8JW2yoludqpYYJ3VEtzNjki3BM8Ud8W/7moMq0408u63g/mVTOtmaZ
|
481
|
+
VAyoklxOeq7ItHW2Pmm8HlCeH6VNaFBaT+7CHivO7vtRNJsjb7yrPMrnRNJ8u45X
|
482
|
+
iJCne0qYwkRCagdluvtG6Pr9zk9LS/d+kgt6b2NAQ2fQpocRgMLlDyS89qEQog==
|
483
|
+
-----END CERTIFICATE REQUEST-----"
|
484
|
+
|
485
|
+
own_signing_certificate = "-----BEGIN CERTIFICATE-----
|
486
|
+
MIIDwTCCAqmgAwIBAgIEAX1JuTANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJT
|
487
|
+
RTEeMBwGA1UEChMVTm9yZGVhIEJhbmsgQUIgKHB1YmwpMR8wHQYDVQQDExZOb3Jk
|
488
|
+
ZWEgQ29ycG9yYXRlIENBIDAxMRQwEgYDVQQFEws1MTY0MDYtMDEyMDAeFw0xMzA1
|
489
|
+
MDIxMjI2MzRaFw0xNTA1MDIxMjI2MzRaMEQxCzAJBgNVBAYTAkZJMSAwHgYDVQQD
|
490
|
+
DBdOb3JkZWEgRGVtbyBDZXJ0aWZpY2F0ZTETMBEGA1UEBRMKNTc4MDg2MDIzODCB
|
491
|
+
nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwtFEfAtbJuGzQwwRumZkvYh2BjGY
|
492
|
+
VsAMUeiKtOne3bZSeisfCq+TXqL1gI9LofyeAQ9I/sDm6tL80yrD5iaSUqVm6A73
|
493
|
+
9MsmpW/iyZcVf7ms8xAN51ESUgN6akwZCU9pH62ngJDj2gUsktY0fpsoVsARdrvO
|
494
|
+
Fk0fTSUXKWd6LbcCAwEAAaOCAR0wggEZMAkGA1UdEwQCMAAwEQYDVR0OBAoECEBw
|
495
|
+
2cj7+XMAMBMGA1UdIAQMMAowCAYGKoVwRwEDMBMGA1UdIwQMMAqACEALddbbzwun
|
496
|
+
MDcGCCsGAQUFBwEBBCswKTAnBggrBgEFBQcwAYYbaHR0cDovL29jc3Aubm9yZGVh
|
497
|
+
LnNlL0NDQTAxMA4GA1UdDwEB/wQEAwIFoDCBhQYDVR0fBH4wfDB6oHigdoZ0bGRh
|
498
|
+
cCUzQS8vbGRhcC5uYi5zZS9jbiUzRE5vcmRlYStDb3Jwb3JhdGUrQ0ErMDElMkNv
|
499
|
+
JTNETm9yZGVhK0JhbmsrQUIrJTI4cHVibCUyOSUyQ2MlM0RTRSUzRmNlcnRpZmlj
|
500
|
+
YXRlcmV2b2NhdGlvbmxpc3QwDQYJKoZIhvcNAQEFBQADggEBACLUPB1Gmq6286/s
|
501
|
+
ROADo7N+w3eViGJ2fuOTLMy4R0UHOznKZNsuk4zAbS2KycbZsE5py4L8o+IYoaS8
|
502
|
+
8YHtEeckr2oqHnPpz/0Eg7wItj8Ad+AFWJqzbn6Hu/LQhlnl5JEzXzl3eZj9oiiJ
|
503
|
+
1q/2CGXvFomY7S4tgpWRmYULtCK6jode0NhgNnAgOI9uy76pSS16aDoiQWUJqQgV
|
504
|
+
ydowAnqS9h9aQ6gedwbOdtkWmwKMDVXU6aRz9Gvk+JeYJhtpuP3OPNGbbC5L7NVd
|
505
|
+
no+B6AtwxmG3ozd+mPcMeVuz6kKLAmQyIiBSrRNa5OrTkq/CUzxO9WUgTnm/Sri7
|
506
|
+
zReR6mU=
|
507
|
+
-----END CERTIFICATE-----"
|
508
|
+
|
509
|
+
signing_private_key = "-----BEGIN RSA PRIVATE KEY-----
|
510
|
+
MIIEpQIBAAKCAQEArdz8IZrI2AeHbh7NEAhtMhqnrB6KCMMLQ+AFNORulbEkkCSZ
|
511
|
+
HeS9BYlOxxlKOkzxnn1xG1gf2ZGOOKguvhJcevDNMhuyyVc6WZX39rNSTgYlMPaS
|
512
|
+
bYmTpJjXqU6JIuZFMu556Re8ZesivhFwrHZh6ykxaA2fj05Cg2wNwUOUivyeS5X1
|
513
|
+
y6uFfAt9hIPu5SHxZv9qPeFBF1CF6iSlr4TK8fT0wenqcPcEvOsn72goi+SqeQOW
|
514
|
+
dbiwB6q956oEhwaymoMQxz3shIxwXYHQcFQgMLHa7Xfd4fJq58oeK06DXapv9w+N
|
515
|
+
lXFWfUk5wcl05zAzXZ+/GdxfzsX/sLqNgphCXQIDAQABAoIBAEPTpSz69IWKkmP8
|
516
|
+
ciViFC9qxKTaGSGH7boiCAX1Y8rUG558GJvX44Hoaio0DIgoAk7BQ0HWpD49kY06
|
517
|
+
11lhUmDH1lVJBvuTIvlWDzFYDbDQpuuuFbvT4xxgYCn1sHxD9xUCgd7UWrQsAhbC
|
518
|
+
OQGfAV47aMHeJrRCZKJeohMWaTm65GjZ3vXHMiz39NG1NmBpSq2TX+095MEjuy3/
|
519
|
+
snIPw4VqwphdeyZ9K8TKo8drdViPKVf1LdiQt66TAFszBTJuXeqmQtJbFjVLQRg3
|
520
|
+
jEcGg+oHaLXvWunW0pyZwSGHcwmszVEt1w100hElz5cwLHZpsTQzIksqdYIU4Zyh
|
521
|
+
0mD3hqECgYEA5HGfH62ipl3oQO+4xDf/RHmEgirgwheD9D7iFulAGIgFrjHGKEjC
|
522
|
+
TMPAMspbIOP8mKXrhGnLbwCjZZNtcHnRg/SsPD1mhoPNhEEoLYDxwH9E/Rq3AM7s
|
523
|
+
wFU1ZNy5vXzoefciQM4c/8m/QS6t/SnfRtMtwPkUssHD3qTDso66YuUCgYEAwtXn
|
524
|
+
+qhudoVwgiTt2b7pZAj3CqHysDZaxOXRE7VQfH4T7Dmv/nmgr2wztpLPXN2UpJ9k
|
525
|
+
ZA4LOu06hY4q5D2N7uKtAvjdjP1G1Wgho6uZVdMs78sAsocLWV+pYhd5bAp5GNrW
|
526
|
+
awjgDbUh2XHL9W+Ix6Jh/LQFsv45sZuimLgmkhkCgYEA2i9zLYxnpsJWS38qV66s
|
527
|
+
DjiJyNEvLfHLxAIzanKJF2UDF+bOPjeP7EWiUmBXPUjDPwBpu2RYOsK/TQrMIfsX
|
528
|
+
kxKjVj3GqH9GUSTyPNPFEnf76koTs5/vG5vGjXkLpeGhIKxbeM3jgKKuGpF8+Cl/
|
529
|
+
6WNVddPwYvMSIpn3l5keh8kCgYEAsXMy8hd/bBECtHW/74ayeLq1jYiMSbNnnlcV
|
530
|
+
wlZr9Ma7jHXJ9gJ+t+bbfphdpl3laL4HKB2mWsf/ee5O4EuzvnPTUZap6iQv5GQP
|
531
|
+
50p9wC4yij+g5fia/I5k7gMlQqKTQnDlwtx1e+aR6sJ7GZG4yOH7TrYDTs++aiWu
|
532
|
+
xFtMPdkCgYEA3tR2oaNqQttIdf8+GNFz2VmicnZ4XsQwGkGI4Jp0ExBJFxxl/tRa
|
533
|
+
30/Akp/bJLNDoqTRwP/lbsP/PKVS4Al+OXrG5MWhzdw3Jchnu1YtP0l2qBcLoBNb
|
534
|
+
bcK50Hen2W6AP2YgVgJqXYpdOglWjEOytaZcsRDVRDhPIFAty3dRizw=
|
535
|
+
-----END RSA PRIVATE KEY-----"
|
536
|
+
|
537
|
+
{
|
538
|
+
bank: :samlink,
|
539
|
+
command: :renew_certificate,
|
540
|
+
customer_id: '12345678',
|
541
|
+
environment: 'test',
|
542
|
+
signing_csr: signing_csr,
|
543
|
+
own_signing_certificate: own_signing_certificate,
|
544
|
+
signing_private_key: signing_private_key,
|
545
|
+
}
|
546
|
+
end
|
547
|
+
|
548
|
+
def samlink_generic_params
|
549
|
+
own_signing_certificate = "-----BEGIN CERTIFICATE-----
|
550
|
+
MIIDwTCCAqmgAwIBAgIEAX1JuTANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJT
|
551
|
+
RTEeMBwGA1UEChMVTm9yZGVhIEJhbmsgQUIgKHB1YmwpMR8wHQYDVQQDExZOb3Jk
|
552
|
+
ZWEgQ29ycG9yYXRlIENBIDAxMRQwEgYDVQQFEws1MTY0MDYtMDEyMDAeFw0xMzA1
|
553
|
+
MDIxMjI2MzRaFw0xNTA1MDIxMjI2MzRaMEQxCzAJBgNVBAYTAkZJMSAwHgYDVQQD
|
554
|
+
DBdOb3JkZWEgRGVtbyBDZXJ0aWZpY2F0ZTETMBEGA1UEBRMKNTc4MDg2MDIzODCB
|
555
|
+
nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwtFEfAtbJuGzQwwRumZkvYh2BjGY
|
556
|
+
VsAMUeiKtOne3bZSeisfCq+TXqL1gI9LofyeAQ9I/sDm6tL80yrD5iaSUqVm6A73
|
557
|
+
9MsmpW/iyZcVf7ms8xAN51ESUgN6akwZCU9pH62ngJDj2gUsktY0fpsoVsARdrvO
|
558
|
+
Fk0fTSUXKWd6LbcCAwEAAaOCAR0wggEZMAkGA1UdEwQCMAAwEQYDVR0OBAoECEBw
|
559
|
+
2cj7+XMAMBMGA1UdIAQMMAowCAYGKoVwRwEDMBMGA1UdIwQMMAqACEALddbbzwun
|
560
|
+
MDcGCCsGAQUFBwEBBCswKTAnBggrBgEFBQcwAYYbaHR0cDovL29jc3Aubm9yZGVh
|
561
|
+
LnNlL0NDQTAxMA4GA1UdDwEB/wQEAwIFoDCBhQYDVR0fBH4wfDB6oHigdoZ0bGRh
|
562
|
+
cCUzQS8vbGRhcC5uYi5zZS9jbiUzRE5vcmRlYStDb3Jwb3JhdGUrQ0ErMDElMkNv
|
563
|
+
JTNETm9yZGVhK0JhbmsrQUIrJTI4cHVibCUyOSUyQ2MlM0RTRSUzRmNlcnRpZmlj
|
564
|
+
YXRlcmV2b2NhdGlvbmxpc3QwDQYJKoZIhvcNAQEFBQADggEBACLUPB1Gmq6286/s
|
565
|
+
ROADo7N+w3eViGJ2fuOTLMy4R0UHOznKZNsuk4zAbS2KycbZsE5py4L8o+IYoaS8
|
566
|
+
8YHtEeckr2oqHnPpz/0Eg7wItj8Ad+AFWJqzbn6Hu/LQhlnl5JEzXzl3eZj9oiiJ
|
567
|
+
1q/2CGXvFomY7S4tgpWRmYULtCK6jode0NhgNnAgOI9uy76pSS16aDoiQWUJqQgV
|
568
|
+
ydowAnqS9h9aQ6gedwbOdtkWmwKMDVXU6aRz9Gvk+JeYJhtpuP3OPNGbbC5L7NVd
|
569
|
+
no+B6AtwxmG3ozd+mPcMeVuz6kKLAmQyIiBSrRNa5OrTkq/CUzxO9WUgTnm/Sri7
|
570
|
+
zReR6mU=
|
571
|
+
-----END CERTIFICATE-----"
|
572
|
+
signing_private_key = "-----BEGIN PRIVATE KEY-----
|
573
|
+
MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMLRRHwLWybhs0MM
|
574
|
+
EbpmZL2IdgYxmFbADFHoirTp3t22UnorHwqvk16i9YCPS6H8ngEPSP7A5urS/NMq
|
575
|
+
w+YmklKlZugO9/TLJqVv4smXFX+5rPMQDedRElIDempMGQlPaR+tp4CQ49oFLJLW
|
576
|
+
NH6bKFbAEXa7zhZNH00lFylnei23AgMBAAECgYEAqt912/7x4jaQTrxlSELLFVp9
|
577
|
+
eo1BesVTiPwXvPpsGbbyvGjZ/ztkXNs9zZbh1aCGzZMkiR2U7F5GlsiprlIif4cF
|
578
|
+
6Xz7rCjaAs7iDRt9PjhjVuqNGR2I+VIIlbQ9XWFJ3lJFW3v7TIZ8JbLnn0XOFz+Z
|
579
|
+
BBSSGTK1zTNh4TBQtjECQQDe5M3uu9m4RwSw9R6GaDw/IFQZgr0oWSv0WIjRwvwW
|
580
|
+
nFnSX2lbkNAjulP0daGsmn7vxIpqZxPxwcrU4wFqTF5dAkEA38DnbCm3YfogzwLH
|
581
|
+
Nre2hBmGqjWarhtxqtRarrkgnmOd8W0Z1Hb1dSHrliUSVSrINbK5ZdEV15Rpu7VD
|
582
|
+
OePzIwJAPMslS+8alANyyR0iJUC65fDYX1jkZOPldDDNqIDJJxWf/hwd7WaTDpuc
|
583
|
+
mHmZDi3ZX2Y45oqUywSzYNtFoIuR1QJAZYUZuyqmSK77SdGB36K1DfSi9AFEQDC1
|
584
|
+
fwPAbTwTv6mFFPAiYxLiRZXxVPtW+QtjMXH4ymh2V4y/+GnCqbZyLwJBAJQSDAME
|
585
|
+
Sn4Uz7Zjk3UrBIbMYEv0u2mcCypwsb0nGE5/gzDPjGE9cxWW+rXARIs+sNQVClnh
|
586
|
+
45nhdfYxOjgYff0=
|
587
|
+
-----END PRIVATE KEY-----"
|
588
|
+
|
589
|
+
{
|
590
|
+
bank: :samlink,
|
591
|
+
command: :download_file,
|
592
|
+
content: encode('kissa'),
|
593
|
+
customer_id: '1111111111',
|
594
|
+
environment: 'production',
|
595
|
+
file_reference: '11111111A12006030329501800000014',
|
596
|
+
file_type: 'TO',
|
597
|
+
own_signing_certificate: own_signing_certificate,
|
598
|
+
signing_private_key: signing_private_key,
|
599
|
+
target_id: '11111111A1',
|
600
|
+
}
|
601
|
+
end
|
data/test/sepa/sepa_test.rb
CHANGED
data/test/test_helper.rb
CHANGED
@@ -6,7 +6,7 @@ Dotenv.load
|
|
6
6
|
if ENV['CODECLIMATE_REPO_TOKEN']
|
7
7
|
SimpleCov.formatters = [
|
8
8
|
SimpleCov::Formatter::HTMLFormatter,
|
9
|
-
CodeClimate::TestReporter::Formatter
|
9
|
+
CodeClimate::TestReporter::Formatter,
|
10
10
|
]
|
11
11
|
else
|
12
12
|
SimpleCov.formatter = SimpleCov::Formatter::HTMLFormatter
|
@@ -26,24 +26,25 @@ include Sepa::Utilities
|
|
26
26
|
ActiveSupport::TestCase.test_order = :random
|
27
27
|
|
28
28
|
# Test responses
|
29
|
-
|
30
|
-
|
29
|
+
DANSKE_TEST_RESPONSE_PATH = "#{ROOT_PATH}/test/sepa/banks/danske/responses/".freeze
|
30
|
+
NORDEA_TEST_RESPONSE_PATH = "#{ROOT_PATH}/test/sepa/banks/nordea/responses".freeze
|
31
|
+
SAMLINK_TEST_RESPONSE_PATH = "#{ROOT_PATH}/test/sepa/banks/samlink/responses/".freeze
|
31
32
|
|
32
33
|
# Danske Test keys
|
33
|
-
DANSKE_TEST_KEYS_PATH = "#{ROOT_PATH}/test/sepa/banks/danske/keys/"
|
34
|
+
DANSKE_TEST_KEYS_PATH = "#{ROOT_PATH}/test/sepa/banks/danske/keys/".freeze
|
34
35
|
DANSKE_BANK_SIGNING_CERT = File.read "#{DANSKE_TEST_KEYS_PATH}bank_signing_cert.pem"
|
35
36
|
DANSKE_BANK_ENCRYPTION_CERT = File.read "#{DANSKE_TEST_KEYS_PATH}bank_encryption_cert.pem"
|
36
37
|
DANSKE_BANK_ROOT_CERT = File.read "#{DANSKE_TEST_KEYS_PATH}bank_root_cert.pem"
|
37
38
|
DANSKE_OWN_ENCRYPTION_CERT = File.read "#{DANSKE_TEST_KEYS_PATH}own_enc_cert.pem"
|
38
39
|
|
39
40
|
# Nordea test keys
|
40
|
-
NORDEA_TEST_KEYS_PATH = "#{ROOT_PATH}/test/sepa/banks/nordea/keys/"
|
41
|
+
NORDEA_TEST_KEYS_PATH = "#{ROOT_PATH}/test/sepa/banks/nordea/keys/".freeze
|
41
42
|
NORDEA_SIGNING_CERTIFICATE = File.read "#{NORDEA_TEST_KEYS_PATH}nordea.crt"
|
42
43
|
|
43
44
|
I18n.enforce_available_locales = true
|
44
45
|
|
45
46
|
# Create an observer to fake sending requests to bank
|
46
|
-
observer = Class.new
|
47
|
+
observer = Class.new do
|
47
48
|
def notify(operation_name, builder, globals, locals)
|
48
49
|
@operation_name = operation_name
|
49
50
|
@builder = builder
|
@@ -51,6 +52,6 @@ observer = Class.new {
|
|
51
52
|
@locals = locals
|
52
53
|
HTTPI::Response.new(200, { "Reponse is actually" => "the request, w0000t" }, locals[:xml])
|
53
54
|
end
|
54
|
-
|
55
|
+
end.new
|
55
56
|
|
56
57
|
Savon.observers << observer
|
@@ -1,9 +1,9 @@
|
|
1
|
-
NORDEA_CSR = ''
|
2
|
-
NORDEA_CERT = ''
|
3
|
-
NORDEA_PRIVATE_KEY = ''
|
4
|
-
DANSKE_BANK_ENC_CERT = ''
|
5
|
-
DANSKE_SIGNING_CERT_REQUEST = ''
|
6
|
-
DANSKE_ENC_CERT_REQUEST = ''
|
7
|
-
OP_CSR = ''
|
8
|
-
OP_PRIVATE_KEY = ''
|
9
|
-
OP_CERT = ''
|
1
|
+
NORDEA_CSR = ''.freeze
|
2
|
+
NORDEA_CERT = ''.freeze
|
3
|
+
NORDEA_PRIVATE_KEY = ''.freeze
|
4
|
+
DANSKE_BANK_ENC_CERT = ''.freeze
|
5
|
+
DANSKE_SIGNING_CERT_REQUEST = ''.freeze
|
6
|
+
DANSKE_ENC_CERT_REQUEST = ''.freeze
|
7
|
+
OP_CSR = ''.freeze
|
8
|
+
OP_PRIVATE_KEY = ''.freeze
|
9
|
+
OP_CERT = ''.freeze
|
@@ -1,4 +1,4 @@
|
|
1
|
-
PAYLOAD = "#{ROOT_PATH}/test_client/data/payload.xml"
|
1
|
+
PAYLOAD = "#{ROOT_PATH}/test_client/data/payload.xml".freeze
|
2
2
|
|
3
3
|
NORDEA_GET_CERTIFICATE_PARAMS = {
|
4
4
|
pin: '1234567890',
|
@@ -6,9 +6,8 @@ NORDEA_GET_CERTIFICATE_PARAMS = {
|
|
6
6
|
command: :get_certificate,
|
7
7
|
customer_id: '11111111',
|
8
8
|
environment: 'test',
|
9
|
-
signing_csr: NORDEA_CSR
|
10
|
-
}
|
11
|
-
|
9
|
+
signing_csr: NORDEA_CSR,
|
10
|
+
}.freeze
|
12
11
|
|
13
12
|
NORDEA_UPLOAD_FILE_PARAMS = {
|
14
13
|
bank: :nordea,
|
@@ -19,7 +18,7 @@ NORDEA_UPLOAD_FILE_PARAMS = {
|
|
19
18
|
target_id: '11111111A1',
|
20
19
|
file_type: 'NDCORPAYS',
|
21
20
|
content: PAYLOAD,
|
22
|
-
}
|
21
|
+
}.freeze
|
23
22
|
|
24
23
|
NORDEA_DOWNLOAD_FILE_PARAMS = {
|
25
24
|
bank: :nordea,
|
@@ -30,8 +29,8 @@ NORDEA_DOWNLOAD_FILE_PARAMS = {
|
|
30
29
|
file_type: 'TITO',
|
31
30
|
file_reference: "11111111A12006030319503000000010",
|
32
31
|
target_id: '11111111A1',
|
33
|
-
status: 'NEW'
|
34
|
-
}
|
32
|
+
status: 'NEW',
|
33
|
+
}.freeze
|
35
34
|
|
36
35
|
NORDEA_DOWNLOAD_FILE_LIST_PARAMS = {
|
37
36
|
bank: :nordea,
|
@@ -41,8 +40,8 @@ NORDEA_DOWNLOAD_FILE_LIST_PARAMS = {
|
|
41
40
|
customer_id: '11111111',
|
42
41
|
target_id: '11111111A1',
|
43
42
|
status: 'NEW',
|
44
|
-
file_type: 'NDCORPAYL'
|
45
|
-
}
|
43
|
+
file_type: 'NDCORPAYL',
|
44
|
+
}.freeze
|
46
45
|
|
47
46
|
NORDEA_GET_USER_INFO_PARAMS = {
|
48
47
|
bank: :nordea,
|
@@ -50,15 +49,15 @@ NORDEA_GET_USER_INFO_PARAMS = {
|
|
50
49
|
own_signing_certificate: NORDEA_CERT,
|
51
50
|
signing_private_key: NORDEA_PRIVATE_KEY,
|
52
51
|
customer_id: '11111111',
|
53
|
-
environment: 'TEST'
|
54
|
-
}
|
52
|
+
environment: 'TEST',
|
53
|
+
}.freeze
|
55
54
|
|
56
55
|
DANSKE_GET_BANK_CERT_PARAMS = {
|
57
56
|
environment: 'test',
|
58
57
|
bank: :danske,
|
59
58
|
command: :get_bank_certificate,
|
60
59
|
customer_id: '',
|
61
|
-
}
|
60
|
+
}.freeze
|
62
61
|
|
63
62
|
DANSKE_CREATE_CERT_PARAMS = {
|
64
63
|
bank: :danske,
|
@@ -68,15 +67,15 @@ DANSKE_CREATE_CERT_PARAMS = {
|
|
68
67
|
environment: 'test',
|
69
68
|
encryption_csr: DANSKE_ENC_CERT_REQUEST,
|
70
69
|
signing_csr: DANSKE_SIGNING_CERT_REQUEST,
|
71
|
-
pin: '1234'
|
72
|
-
}
|
70
|
+
pin: '1234',
|
71
|
+
}.freeze
|
73
72
|
|
74
73
|
OP_GET_SERVICE_CERTIFICATES_PARAMS = {
|
75
74
|
bank: :op,
|
76
75
|
command: :get_service_certificates,
|
77
76
|
customer_id: '',
|
78
77
|
environment: 'test',
|
79
|
-
}
|
78
|
+
}.freeze
|
80
79
|
|
81
80
|
OP_UPLOAD_FILE_PARAMS = {
|
82
81
|
bank: :op,
|
@@ -87,7 +86,7 @@ OP_UPLOAD_FILE_PARAMS = {
|
|
87
86
|
file_type: 'pain.001.001.02',
|
88
87
|
own_signing_certificate: OP_CERT,
|
89
88
|
signing_private_key: OP_PRIVATE_KEY,
|
90
|
-
}
|
89
|
+
}.freeze
|
91
90
|
|
92
91
|
OP_DOWNLOAD_FILE_PARAMS = {
|
93
92
|
bank: :op,
|
@@ -97,7 +96,7 @@ OP_DOWNLOAD_FILE_PARAMS = {
|
|
97
96
|
file_reference: '',
|
98
97
|
own_signing_certificate: OP_CERT,
|
99
98
|
signing_private_key: OP_PRIVATE_KEY,
|
100
|
-
}
|
99
|
+
}.freeze
|
101
100
|
|
102
101
|
OP_DOWNLOAD_FILE_LIST_PARAMS = {
|
103
102
|
bank: :op,
|
@@ -106,5 +105,5 @@ OP_DOWNLOAD_FILE_LIST_PARAMS = {
|
|
106
105
|
environment: 'test',
|
107
106
|
own_signing_certificate: OP_CERT,
|
108
107
|
signing_private_key: OP_PRIVATE_KEY,
|
109
|
-
file_type: 'pain.002.001.02'
|
110
|
-
}
|
108
|
+
file_type: 'pain.002.001.02',
|
109
|
+
}.freeze
|
data/test_client/test_client.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# Client for testing the gem against banks' test environments
|
1
2
|
module Testing
|
2
3
|
require "base64"
|
3
4
|
require "sepafm"
|
@@ -12,6 +13,9 @@ module Testing
|
|
12
13
|
:op_download_file,
|
13
14
|
:op_download_file_list,
|
14
15
|
:op_upload_file,
|
16
|
+
:samlink_download_file_list,
|
17
|
+
:samlink_upload_file,
|
18
|
+
:samlink_download_file,
|
15
19
|
].each_with_object({}) do |i, a|
|
16
20
|
a[i] = Sepa::Client.new("#{i.to_s.upcase}_PARAMS".constantize)
|
17
21
|
end
|
@@ -24,6 +28,8 @@ module Testing
|
|
24
28
|
:nordea_renew_certificate,
|
25
29
|
:op_get_certificate,
|
26
30
|
:op_get_service_certificates,
|
31
|
+
:samlink_get_certificate,
|
32
|
+
:samlink_renew_certificate,
|
27
33
|
].each_with_object({}) do |i, a|
|
28
34
|
a[i] = Sepa::Client.new("#{i.to_s.upcase}_PARAMS".constantize)
|
29
35
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sepafm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joni Kanerva
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-
|
13
|
+
date: 2016-10-19 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activemodel
|
@@ -60,14 +60,14 @@ dependencies:
|
|
60
60
|
requirements:
|
61
61
|
- - "~>"
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version: '1.
|
63
|
+
version: '1.13'
|
64
64
|
type: :development
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
68
|
- - "~>"
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version: '1.
|
70
|
+
version: '1.13'
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: codeclimate-test-reporter
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
@@ -160,9 +160,13 @@ files:
|
|
160
160
|
- lib/sepa/banks/nordea/soap_nordea.rb
|
161
161
|
- lib/sepa/banks/op/op_response.rb
|
162
162
|
- lib/sepa/banks/op/soap_op.rb
|
163
|
+
- lib/sepa/banks/samlink/samlink_response.rb
|
164
|
+
- lib/sepa/banks/samlink/soap_samlink.rb
|
163
165
|
- lib/sepa/certificates/danske_root_certificate.pem
|
164
166
|
- lib/sepa/certificates/nordea_root_certificate.pem
|
165
167
|
- lib/sepa/certificates/op_root_certificate.pem
|
168
|
+
- lib/sepa/certificates/samlink_certificate.pem
|
169
|
+
- lib/sepa/certificates/samlink_root_certificate.pem
|
166
170
|
- lib/sepa/client.rb
|
167
171
|
- lib/sepa/error_messages.rb
|
168
172
|
- lib/sepa/response.rb
|
@@ -177,6 +181,10 @@ files:
|
|
177
181
|
- lib/sepa/wsdl/wsdl_op_cert_test.xml
|
178
182
|
- lib/sepa/wsdl/wsdl_op_production.xml
|
179
183
|
- lib/sepa/wsdl/wsdl_op_test.xml
|
184
|
+
- lib/sepa/wsdl/wsdl_samlink_cert_production.xml
|
185
|
+
- lib/sepa/wsdl/wsdl_samlink_cert_test.xml
|
186
|
+
- lib/sepa/wsdl/wsdl_samlink_production.xml
|
187
|
+
- lib/sepa/wsdl/wsdl_samlink_test.xml
|
180
188
|
- lib/sepa/xml_schemas/PKIFactory.xsd
|
181
189
|
- lib/sepa/xml_schemas/application_request.xsd
|
182
190
|
- lib/sepa/xml_schemas/application_response.xsd
|
@@ -189,6 +197,8 @@ files:
|
|
189
197
|
- lib/sepa/xml_schemas/op/CertApplicationRequest_200812.xsd
|
190
198
|
- lib/sepa/xml_schemas/op/CertApplicationResponse_200812.xsd
|
191
199
|
- lib/sepa/xml_schemas/pain.001.001.02.xsd
|
200
|
+
- lib/sepa/xml_schemas/samlink/CertApplicationRequest.xsd
|
201
|
+
- lib/sepa/xml_schemas/samlink/CertApplicationResponse.xsd
|
192
202
|
- lib/sepa/xml_schemas/soap.xsd
|
193
203
|
- lib/sepa/xml_schemas/wsdl.xml
|
194
204
|
- lib/sepa/xml_schemas/xml.xsd
|
@@ -205,6 +215,8 @@ files:
|
|
205
215
|
- lib/sepa/xml_templates/application_request/nordea/renew_certificate.xml
|
206
216
|
- lib/sepa/xml_templates/application_request/op/get_certificate.xml
|
207
217
|
- lib/sepa/xml_templates/application_request/op/get_service_certificates.xml
|
218
|
+
- lib/sepa/xml_templates/application_request/samlink/get_certificate.xml
|
219
|
+
- lib/sepa/xml_templates/application_request/samlink/renew_certificate.xml
|
208
220
|
- lib/sepa/xml_templates/application_request/upload_file.xml
|
209
221
|
- lib/sepa/xml_templates/soap/danske/create_certificate.xml
|
210
222
|
- lib/sepa/xml_templates/soap/danske/get_bank_certificate.xml
|
@@ -217,6 +229,8 @@ files:
|
|
217
229
|
- lib/sepa/xml_templates/soap/nordea/renew_certificate.xml
|
218
230
|
- lib/sepa/xml_templates/soap/op/get_certificate.xml
|
219
231
|
- lib/sepa/xml_templates/soap/op/get_service_certificates.xml
|
232
|
+
- lib/sepa/xml_templates/soap/samlink/get_certificate.xml
|
233
|
+
- lib/sepa/xml_templates/soap/samlink/renew_certificate.xml
|
220
234
|
- lib/sepa/xml_templates/soap/upload_file.xml
|
221
235
|
- lib/sepafm.rb
|
222
236
|
- readme.md
|
@@ -238,6 +252,7 @@ files:
|
|
238
252
|
- test/sepa/banks/danske/keys/own_signing_cert.pem
|
239
253
|
- test/sepa/banks/danske/keys/signing_key.pem
|
240
254
|
- test/sepa/banks/danske/responses/create_cert.xml
|
255
|
+
- test/sepa/banks/danske/responses/create_cert_corrupted.xml
|
241
256
|
- test/sepa/banks/danske/responses/download_file_list.xml
|
242
257
|
- test/sepa/banks/danske/responses/get_bank_cert.xml
|
243
258
|
- test/sepa/banks/danske/responses/get_bank_certificate_not_ok.xml
|
@@ -268,6 +283,16 @@ files:
|
|
268
283
|
- test/sepa/banks/op/op_cert_request_soap_builder_test.rb
|
269
284
|
- test/sepa/banks/op/op_generic_soap_builder_test.rb
|
270
285
|
- test/sepa/banks/op/op_response_test.rb
|
286
|
+
- test/sepa/banks/samlink/responses/dfl.xml
|
287
|
+
- test/sepa/banks/samlink/responses/gc_error_30.xml
|
288
|
+
- test/sepa/banks/samlink/responses/rc.xml
|
289
|
+
- test/sepa/banks/samlink/samlink_application_request_test.rb
|
290
|
+
- test/sepa/banks/samlink/samlink_cert_application_request_test.rb
|
291
|
+
- test/sepa/banks/samlink/samlink_cert_request_soap_builder_test.rb
|
292
|
+
- test/sepa/banks/samlink/samlink_generic_soap_builder_test.rb
|
293
|
+
- test/sepa/banks/samlink/samlink_renew_cert_application_request_test.rb
|
294
|
+
- test/sepa/banks/samlink/samlink_renew_cert_request_soap_builder_test.rb
|
295
|
+
- test/sepa/banks/samlink/samlink_response_test.rb
|
271
296
|
- test/sepa/client_test.rb
|
272
297
|
- test/sepa/fixtures.rb
|
273
298
|
- test/sepa/sepa_test.rb
|
@@ -296,7 +321,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
296
321
|
version: '0'
|
297
322
|
requirements: []
|
298
323
|
rubyforge_project:
|
299
|
-
rubygems_version: 2.6.
|
324
|
+
rubygems_version: 2.6.7
|
300
325
|
signing_key:
|
301
326
|
specification_version: 4
|
302
327
|
summary: SEPA Financial Messages
|
@@ -318,6 +343,7 @@ test_files:
|
|
318
343
|
- test/sepa/banks/danske/keys/own_signing_cert.pem
|
319
344
|
- test/sepa/banks/danske/keys/signing_key.pem
|
320
345
|
- test/sepa/banks/danske/responses/create_cert.xml
|
346
|
+
- test/sepa/banks/danske/responses/create_cert_corrupted.xml
|
321
347
|
- test/sepa/banks/danske/responses/download_file_list.xml
|
322
348
|
- test/sepa/banks/danske/responses/get_bank_cert.xml
|
323
349
|
- test/sepa/banks/danske/responses/get_bank_certificate_not_ok.xml
|
@@ -348,6 +374,16 @@ test_files:
|
|
348
374
|
- test/sepa/banks/op/op_cert_request_soap_builder_test.rb
|
349
375
|
- test/sepa/banks/op/op_generic_soap_builder_test.rb
|
350
376
|
- test/sepa/banks/op/op_response_test.rb
|
377
|
+
- test/sepa/banks/samlink/responses/dfl.xml
|
378
|
+
- test/sepa/banks/samlink/responses/gc_error_30.xml
|
379
|
+
- test/sepa/banks/samlink/responses/rc.xml
|
380
|
+
- test/sepa/banks/samlink/samlink_application_request_test.rb
|
381
|
+
- test/sepa/banks/samlink/samlink_cert_application_request_test.rb
|
382
|
+
- test/sepa/banks/samlink/samlink_cert_request_soap_builder_test.rb
|
383
|
+
- test/sepa/banks/samlink/samlink_generic_soap_builder_test.rb
|
384
|
+
- test/sepa/banks/samlink/samlink_renew_cert_application_request_test.rb
|
385
|
+
- test/sepa/banks/samlink/samlink_renew_cert_request_soap_builder_test.rb
|
386
|
+
- test/sepa/banks/samlink/samlink_response_test.rb
|
351
387
|
- test/sepa/client_test.rb
|
352
388
|
- test/sepa/fixtures.rb
|
353
389
|
- test/sepa/sepa_test.rb
|