{"id":20715761,"url":"https://github.com/tpierrain/nfluent-web","last_synced_at":"2025-09-06T05:35:31.084Z","repository":{"id":7501778,"uuid":"8851497","full_name":"tpierrain/NFluent-Web","owner":"tpierrain","description":"(alpha) NFluent.Web is an extension library to NFluent for web-related tests. NFluent is an ergonomic assertion library which aims to fluent your .NET TDD experience (based on simple Check.That() assertion statements). NFluent aims your tests to be fluent to write (with an happy 'dot' auto completion experience), fluent to read (i.e. as close as possible to plain English expression), but also fluent to troubleshoot, in a less-error-prone way comparing to the classical .NET test frameworks. NFluent is also directly inspired by the awesome Java FEST Fluent assertion/reflection library (http://fest.easytesting.org/)","archived":false,"fork":false,"pushed_at":"2013-04-21T07:27:44.000Z","size":1512,"stargazers_count":3,"open_issues_count":3,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-11T07:18:08.174Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tpierrain.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-03-18T10:07:18.000Z","updated_at":"2020-06-01T03:53:15.000Z","dependencies_parsed_at":"2022-09-10T14:40:11.541Z","dependency_job_id":null,"html_url":"https://github.com/tpierrain/NFluent-Web","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tpierrain/NFluent-Web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tpierrain%2FNFluent-Web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tpierrain%2FNFluent-Web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tpierrain%2FNFluent-Web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tpierrain%2FNFluent-Web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tpierrain","download_url":"https://codeload.github.com/tpierrain/NFluent-Web/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tpierrain%2FNFluent-Web/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273859074,"owners_count":25180828,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T02:39:47.087Z","updated_at":"2025-09-06T05:35:31.057Z","avatar_url":"https://github.com/tpierrain.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"![NFluentWeb](https://github.com/tpierrain/nfluent-web/blob/master/NFluentWebBanner.png?raw=true)\n\nNFluent-Web\n===========\n\nNFluent.Web is an extension library to __[NFluent](https://github.com/tpierrain/NFluent/blob/master/ReadMe.md)__ for web-related assertions.\n\nAs simple as possible\n=====================\n\nWith NFluent assertion libraries:\n\nAll you've got to remember is: `Check.That`, cause every assertion is then provided via a super-duper-auto-completion-dot-experience ;-)\n------------------------------------------------------------------------------------------------------------------------\n\n\nUsage sample\n------------\n\nWith NFluent.Web, you can write simple web assertions like this:\n```c#\t\n    var request = (HttpWebRequest)WebRequest.Create(\"http://www.google.com\");\n\trequest.UserAgent = \"Mozilla/5.0 compatible\";\n\trequest.Headers.Add(HttpRequestHeader.AcceptEncoding, \"gzip\");\n\n    using (var response = (HttpWebResponse)request.GetResponse())\n    {\n        Check.That(response).StatusCodeEqualsTo(HttpStatusCode.OK)\n                            .And.HasHeader(HttpResponseHeader.CacheControl)\n                            .And.HasHeader(\"X-Frame-Options\").Which.Contains(\"SAMEORIGIN\")\n                            .And.HasHeader(HttpResponseHeader.Server).Which.Contains(\"gws\")\n                            .And.IsGZipEncoded()\n\t\t\t\t\t\t\t.And.Contains(\"Google\");\n\n        // TODO: Allow usage of multiple assertions on a given header such as:  .And.HasHeader(\"X-Frame-Options\").Which.Contains(\"SAMEORIGIN\").And.StartsWith(\"SAME\").And.EndsWith(\"ORIGIN\")\n    }\n\n```\n\n- - -\n\nUses cases\n----------\n__[NFluent use cases are available here](https://github.com/tpierrain/NFluent/blob/master/UseCases.md)__.\n\nNewsgroup\n---------\nFor any comment, remark or question on the library, please use the __[NFluent-Discuss google group](https://groups.google.com/forum/#!forum/nfluent-discuss)__.\n\nBackLog\n-------\nNfluent __backlog is available as github issues__\n\nNew feature to be added?\n------------------------\n+ If you want to join the project and contribute: __[Check this out first](./CONTRIBUTING.md)__, but be our guest. \n+ If you don't want to contribute on the library, but you need a feature not yet implemented, don't hesitate to request it on the __[NFluent-Discuss google group](https://groups.google.com/forum/#!forum/nfluent-discuss)__.\n__In any cases: you are welcome!__\n\nMany thanks\n------\n+ To the contributors: __[Marc-Antoine LATOUR](https://github.com/malat)__, __[Rui CARVALHO](http://www.codedistillers.com/)__.\n\n+ To __[Rui CARVALHO](http://www.codedistillers.com/)__, for the nice NFluent logo he has designed.\n\n+ To the mates that gave me ideas and feedbacks to make this lib as fluent as possible: __[Joel COSTIGLIOLA](https://github.com/joel-costigliola)__, __[Rui CARVALHO](http://www.codedistillers.com/)__, __[Cyrille DUPUYDAUBY](http://dupdob.wordpress.com/)__, __Benoit LABAERE__, ... \n\n- - -\n\n[thomas@pierrain.net](mailto:thomas@pierrain.net) / March 2013\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftpierrain%2Fnfluent-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftpierrain%2Fnfluent-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftpierrain%2Fnfluent-web/lists"}