mozilla / mozilla/markfluence

Add a manual live-server smoke test suite

Open
#73 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
2
Forks
0
Avg merge
2h 8m
Merged PRs (30d)
49

Description

Add a test suite a developer runs by hand against a real Confluence server —
credentials from the usual CONFLUENCE_* resolution, pages created in a personal
space — covering a small, critical set of behaviour.

Why

The current suite proves what markfluence emits: the converter's goldens pin the
storage format, and the --json schema guards the output contract. Neither can
prove what Confluence does with what we send, and docs/confluence/
is explicit that this is where confident wrong conclusions come from — body.storage
shows only what was stored, never what takes effect. Several behaviours were
established by experiment and are currently protected by nothing but those notes:

  • page width living in two content properties, where writing one leaves the reader
    and the editor disagreeing;
  • attachment sync's checksum/recorded-path logic (skip, update, repair a mangled
    path) and the multipart charset requirement;
  • what attachment names Confluence accepts;
  • whether a published table keeps its layout, alignment, and highlight colours.

A suite that runs against a live server would turn those from documented
observations into something re-checkable when Atlassian changes behaviour.

Deliberately undecided

Nothing about the design is settled yet — to be worked out when this is picked up:

  • what it covers (which commands, which round trips, how minimal is minimal)
  • how it is invoked and how it is kept out of go test ./... and CI
  • how the target space and credentials are supplied
  • what guardrails and cleanup it needs, given it writes real pages
  • where the files live and what they assert against

Notes

Came up while fixing #18. Not urgent — parked for now.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with docs/confluence/ and the existing golden and --json test coverage to understand which live Confluence behaviours are not exercised. Define the smallest manually invoked suite around page width, attachment sync, accepted attachment names, and published table rendering. Done means the invocation, credential and personal-space handling, guardrails, cleanup, assertions, and exclusion from go test ./... and CI are specified.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli, testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.