-
1.0.8-rc1
Pre-releasereleased this
2026-08-21 23:09:56 +01:00 | 1 commits to main since this releaseAdded
-
BlogAclApiTests.PostCircleAuthorization_returns_201_when_payload_mirrors_PostIt_shape_against_existing_circle_named_test- test de non-régression qui épingle la forme exacte du payload
que PostIt envoie àPOST /api/v1/blogacl(un objet
PostAccessControlRulePayloadavecCircleIdetBlogPostId).
C'est le verrou côté test du fix applicatif PostIt + serveur.
BlogAclApiTests.PostCircleAuthorization_never_returns_500: une
[Theory]couvrant quatre shapes de payload ({ circleId },
corps vide,{ blogPostId }seul,{ circleId, blogPostId: 0 })
qui doivent tous retourner un statut différent de 500. Toute
réintroduction d'un chemin 500 dans le futur fera rougir ce test.BlogAclApiTests.PostCircleAuthorization_dosent_return_500et
..._dosent_return_500_on_success: entry points[Fact]qui
appellent la[Theory]ci-dessus avec un payload spécifique
chacun, pour pouvoir filtrer en isolation depuis la ligne de
commande ou le CI.- Règle « Pas de
objectdans le code source applicatif » ajoutée
àCONTRIBUTING.md: types de retour, paramètres, champs,
propriétés, variables locales doivent être typés statiquement.
dynamicest interdit pour les mêmes raisons.
Changed
BlogAclApiController.CheckOwnerdevientCheckOwnerAsyncet
utiliseFirstOrDefaultAsyncau lieu deFirst, supprimant
l'appel LINQ synchrone sur le fil de la requête et retournant
falsesur cercle manquant (le contrôleur mappe déjà cela vers
ChallengeResult).BlogsWebServerFixtureseedalice, sonCircleet son
BlogPostune seule fois au démarrage du host, sur la
SqliteConnectionpartagée (Cache=Shared). Le précédent
EnsureDeletedau début de chaque test fermait la connexion
statique et détruisait le store:memory:pour tous les autres
DbContext; il est retiré au profit d'unEnsureCreated
idempotent.
Fixed
POST /api/v1/blogaclne retourne plus 500 sur les payloads
dontBlogPostIdest absent ou à zéro. Le contrôleur rejette
BlogPostId <= 0avec400 BadRequestavant que la requête
n'atteigneSaveChangesAsync. L'incident de prod du 2026-08-21
sur mercure (PostIt envoyant seulementcircleId, le serveur
voyantBlogPostId = default(long) = 0et EF Core levant
InvalidOperationExceptionsur l'INSERT) n'est plus atteignable.- PostIt
PostAclDialogViewModel.AddAsyncenvoie désormais le
payload explicitePostAccessControlRulePayload { CircleId, BlogPostId }au lieu de l'ancienCircleAuthorization { CircleId }. Le DTO serveurPostAccessControlRulePayloadest
introduit dansYavsc.Abstractpour porter le contrat.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
1 download
-