8f1cf63bd3
constants: Improve testing, eliminate redundant check when marshalling
2017-04-08 08:40:46 -04:00
ac5a0dce1d
Add tests for auto-generated constants
2017-04-07 22:34:54 -04:00
932af2439b
Test remaining SECINFO types
2017-04-07 22:32:27 -04:00
1017dbb0ae
signup: Stop using the wrong enum for InvAcctType
2017-04-06 20:31:16 -04:00
3009f9255c
constants.go: Make Valid() return false after failing FromString()
2017-04-06 19:55:59 -04:00
85406e7eb8
Fix MfType values
...
"OPEN" and "END" had an accidental space between them before in the
comment the original list was based upon
2017-04-06 19:18:09 -04:00
5009ef3c79
Spelling mistake
2017-04-06 19:17:52 -04:00
4521bb377a
Use named constants instead of strings for enum-like OFX fields
...
This adds a python script to generate constants.go when `go generate` is
called, and updates the structs, tests, and command-line client to all
use the new named constants.
2017-04-06 09:06:41 -04:00
ea700b33a9
profile: Change 'VER' from a String to an Int
2017-04-05 05:26:29 -04:00
f794d452c4
Test for spaces after newlines when unmarshalling elements
2017-04-04 20:22:12 -04:00
6d8578c056
Add test for Amount.Equal()
2017-04-04 20:20:31 -04:00
061b31a99d
Add test for Date.Equal()
2017-04-04 19:51:35 -04:00
1560f44a3c
Switch Date to contain time.Time instead of being a typedef
2017-04-04 19:50:41 -04:00
7f5ef5751d
Switch Amount to contain big.Rat instead of being a typedef
2017-04-03 21:15:08 -04:00
9b03829645
Add additional investment statement response test
2017-04-03 20:50:31 -04:00
cd39e4f8af
Handle SGML responses with post-colon spaces in headers
2017-04-03 20:49:48 -04:00
ea133999ee
Add more leaf elements missed earlier
2017-04-03 20:48:01 -04:00
737d289b29
Add profile tests
2017-04-03 19:59:30 -04:00
59a29e18a5
profile: Save message set name somewhere other than XMLName
...
Of course the same information is available there, but having it brought
out as its own field seems more convenient and intuitive for users.
2017-04-03 19:56:16 -04:00
f56a061627
profile: Fix PinCh field capitalization
2017-04-03 19:55:58 -04:00
e2b0819888
Add missing leaf elements with numbers
2017-04-03 19:54:32 -04:00
42864dace3
Rename Response/Request Profile -> Prof
...
This is more in line with the rest, which match their OFX message set
names except for capitalization.
2017-04-03 19:50:16 -04:00
7834d53f9b
Trim spaces when unmarshalling UIDs
...
This ensures the correct value is parsed when SGML tags aren't closed.
Also add a test.
2017-04-03 19:46:10 -04:00
47f1b82c0b
Check HTTPS is always used
2017-04-01 21:33:56 -04:00
62f0ae600b
Add a few missing profile fields
2017-04-01 21:29:27 -04:00
9ede56e2c4
Add investment statement tests
2017-04-01 21:17:32 -04:00
d7b265b995
Add open orders to investment statment responses
2017-04-01 11:05:40 -04:00
1cbd433116
request_test: Point out first difference in marshalled string
2017-03-31 20:16:44 -04:00
3fa614b649
Add tests for credit card requests and responses
...
Including one for OFX version 102
2017-03-31 16:22:33 -04:00
6618e031a7
Response: Use SignonRs.String() instead of a raw string
2017-03-31 15:30:10 -04:00
d07455d797
Improve some request/response documentation
2017-03-31 15:29:57 -04:00
e755650521
Rename files to more closely correspond to their message set tags
2017-03-31 15:05:59 -04:00
0d04085c7a
Status: s/WARNING/WARN/ to comply with the spec
2017-03-31 14:53:56 -04:00
f185d78d29
Generalize response parsing code
...
This removes the many decodeXXXMessageSet() functions and replaces them
with a large map and a single generic decodeMessageSet() function. Also
change Responses to satisfy the Message interface as pointer types
(instead of the raw types), add the full set of top-level message sets
(though most of them still lack any message-parsing ability), adjust the
message set names to more closely mirror their OFX names, and fixup
tests and the command-line client to match the above changes.
2017-03-31 11:54:43 -04:00
d822179446
Add Type() to Message interface, check types when marshalling requests
2017-03-31 09:25:07 -04:00
85684883c6
Add tests for signup requests and responses
2017-03-31 05:18:31 -04:00
c1777df3df
Standardize transaction wrapper fields
2017-03-30 10:24:26 -04:00
6efd3ae921
Add test for banking responses
...
This also adds a generic response equality testing framework, a missing
Status field to all current responses, and Equal() methods to all basic
types.
2017-03-30 07:08:34 -04:00
6d6ee3ea1b
Add basic test for marshalling bank statement request
...
Also add marshalCheckRequest(), a helper function which prints the first
differences found between the two strings to aid in debugging test
failures.
2017-03-29 09:35:53 -04:00
5596cfbf8d
Don't require UIDs to be 36 characters
...
The spec strongly recommends this, but doesn't strictly require it
2017-03-29 09:23:15 -04:00
1d8ba5c19a
Make optional struct fields pointers
...
This allows encoding/xml to properly comparison against nil to see if
they should be marshalled if the 'xml' tag contains ",omitempty" and for
users to test against nil to see if a field was present in the parsed
OFX.
This commit also fixes up cmd/ofx to use the new pointers.
2017-03-29 09:22:02 -04:00
119c01f99b
Make setting request fields from Client a Request method
...
This also makes it possible to call this method for testing without
making an HTTP request.
2017-03-29 08:56:35 -04:00
3091a97b2c
cmd/ofx: go vet
2017-03-28 19:47:17 -04:00
f51af6dd44
cmd/ofx: Play nice with Fidelity
...
Fidelity (Netbenefits at least) returns an error of DTEND is the current
day, so request 'yesterday' by default.
2017-03-28 19:42:16 -04:00
0dc6f0ba8a
go vet
2017-03-27 20:14:55 -04:00
31f33b66d7
go fmt
2017-03-27 20:14:18 -04:00
2f56698a0b
Add 401K information to INVSTMTTRNRS
2017-03-27 20:13:32 -04:00
dfa5a4b6f5
Improve documentation
2017-03-26 21:02:20 -04:00
f3b5eb5b31
Add 'WARNING' as possible STATUS SEVERITY
2017-03-26 20:09:37 -04:00
27a88ca703
Make Decode*MessageSet functions private to the library
...
These don't need to be exposed and clutter the auto-generated
documentation
2017-03-25 06:23:30 -04:00