A tool for generating Atom feeds from ordinary to downright antagonistic. It is intended for testing feed clients as well as being useful to use as a working example when filing bugs.
This project is very early days, and forever will be a work in progress. If you have ideas of ways we can break feed clients reach out at https://gitlab.com/kevincox/feed-test.
Recommended Feeds
Things to Check
- Check that your reader can retrieve items from archived segments.
- Check that your reader respects the caching headers and doesn't request the feed more frequently than that. (Without a user-initiated force-refresh.)
- Check that the title of the feed and articles are used.
- Check that the articles render properly. (Information on things to check inside the articles.)
- Check that links to the web versions of the articles work correctly.
All Options
base[]
A list of strings specifying what elements will have a xml:base attribute specified. The following elements are supported.
- entry
- feed
The URL references in the feed will be generated based on the enabled base URLs and if you access an invalid URL an error will be returned.
Example
?base[]=entry&base[]=feed
feed_auth
Require authentication to access the feed.
- none
- (default) No authentication is required.
- basic
- HTTP basic authentication is required. The credentials are ftu:hunter2
id_style
A string specifying how feed IDs are generated.
- valid (default)
- nonurl (non-standard)
limit
An integer specifying how many items will be present in the feed.
Note: Currently items are removed a page at a time, so there may be up to limit + per_page - 1 items in the feed. This may be made configurable in the future
now
An RFC3339 timestamp that will be used as the time for generating feeds. The default is the time of the request. This is useful for reliably triggering edge cases or making tests predictable.
Warning: While this will logically fix the feed the HTTP responses will not necessarily be identical forever.
per_page
An integer specifying how many items will be present per-page.
Note: Currently the number of items on the first page will vary as it "fills" up. This may be made configurable in the future.
rate
A duration string specifying how often a new item appears on the feed.
- 5s
- 15s
- 1min
- 5min
- 15min
- 30min
- 1h
- 4h
- 12h
- 1d
- 7d
- 30d (default)
- 90d
- 1y (note:
1y == 365d) - 10y
- 100y