Description: avoid crate dotenv
Author: Jonas Smedegaard <dr@jones.dk>
Forwarded: not-needed
Last-Update: 2024-07-28
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -47,4 +47,3 @@
 [dev-dependencies]
 assert_cmd = "2.0.12"
 predicates = "3.0.4"
-dotenv = "0.15.0"
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -139,9 +139,9 @@
     /// ```
     /// # fn main() -> Result<(), Box<dyn std::error::Error>> {
     /// use hypothesis::Hypothesis;
-    /// #     dotenv::dotenv()?;
-    /// #     let username = dotenv::var("HYPOTHESIS_NAME")?;
-    /// #     let developer_key = dotenv::var("HYPOTHESIS_KEY")?;
+    /// #     use std::env;
+    /// #     let username = env::var("HYPOTHESIS_NAME")?;
+    /// #     let developer_key = env::var("HYPOTHESIS_KEY")?;
     /// let api = Hypothesis::new(&username, &developer_key)?;
     /// #     Ok(())
     /// # }
@@ -177,12 +177,6 @@
     /// # Example
     /// ```
     /// # fn main() -> Result<(), Box<dyn std::error::Error>> {
-    /// #    use std::env;
-    /// #    dotenv::dotenv()?;
-    /// #    let username = dotenv::var("HYPOTHESIS_NAME")?;
-    /// #    let developer_key = dotenv::var("HYPOTHESIS_KEY")?;
-    /// #    env::set_var("HYPOTHESIS_NAME", username);
-    /// #    env::set_var("HYPOTHESIS_KEY", developer_key);
     /// use hypothesis::Hypothesis;
     /// let api = Hypothesis::from_env()?;
     /// #     Ok(())
@@ -215,10 +209,10 @@
     /// # async fn main() -> Result<(), Box<dyn std::error::Error>> {
     /// use hypothesis::Hypothesis;
     /// use hypothesis::annotations::InputAnnotation;
-    /// #     dotenv::dotenv()?;
-    /// #     let username = dotenv::var("HYPOTHESIS_NAME")?;
-    /// #     let developer_key = dotenv::var("HYPOTHESIS_KEY")?;
-    /// #     let group_id = dotenv::var("TEST_GROUP_ID").unwrap_or("__world__".into());
+    /// #     use std::env;
+    /// #     let username = env::var("HYPOTHESIS_NAME")?;
+    /// #     let developer_key = env::var("HYPOTHESIS_KEY")?;
+    /// #     let group_id = env::var("TEST_GROUP_ID").unwrap_or("__world__".into());
     ///
     /// let api = Hypothesis::new(&username, &developer_key)?;
     /// let annotation = api.create_annotation(&InputAnnotation::builder()
@@ -261,10 +255,10 @@
     /// # async fn main() -> Result<(), Box<dyn std::error::Error>> {
     /// # use hypothesis::Hypothesis;
     /// # use hypothesis::annotations::InputAnnotation;
-    /// #     dotenv::dotenv()?;
-    /// #     let username = dotenv::var("HYPOTHESIS_NAME")?;
-    /// #     let developer_key = dotenv::var("HYPOTHESIS_KEY")?;
-    /// #     let group_id = dotenv::var("TEST_GROUP_ID").unwrap_or("__world__".into());
+    /// #     use std::env;
+    /// #     let username = env::var("HYPOTHESIS_NAME")?;
+    /// #     let developer_key = env::var("HYPOTHESIS_KEY")?;
+    /// #     let group_id = env::var("TEST_GROUP_ID").unwrap_or("__world__".into());
     /// let api = Hypothesis::new(&username, &developer_key)?;
     /// let input_annotations = vec![
     ///     InputAnnotation::builder()
@@ -306,10 +300,10 @@
     /// # async fn main() -> Result<(), Box<dyn std::error::Error>> {
     /// use hypothesis::Hypothesis;
     /// use hypothesis::annotations::InputAnnotation;
-    /// #     dotenv::dotenv()?;
-    /// #     let username = dotenv::var("HYPOTHESIS_NAME")?;
-    /// #     let developer_key = dotenv::var("HYPOTHESIS_KEY")?;
-    /// #     let group_id = dotenv::var("TEST_GROUP_ID").unwrap_or("__world__".into());
+    /// #     use std::env;
+    /// #     let username = env::var("HYPOTHESIS_NAME")?;
+    /// #     let developer_key = env::var("HYPOTHESIS_KEY")?;
+    /// #     let group_id = env::var("TEST_GROUP_ID").unwrap_or("__world__".into());
     /// let api = Hypothesis::new(&username, &developer_key)?;
     /// let mut annotation = api.create_annotation(&InputAnnotation::builder()
     ///                   .text("string")
@@ -366,9 +360,9 @@
     /// # async fn main() -> Result<(), Box<dyn std::error::Error>> {
     /// use hypothesis::{Hypothesis, UserAccountID};
     /// use hypothesis::annotations::SearchQuery;
-    /// #     dotenv::dotenv()?;
-    /// #     let username = dotenv::var("HYPOTHESIS_NAME")?;
-    /// #     let developer_key = dotenv::var("HYPOTHESIS_KEY")?;
+    /// #     use std::env;
+    /// #     let username = env::var("HYPOTHESIS_NAME")?;
+    /// #     let developer_key = env::var("HYPOTHESIS_KEY")?;
     /// let api = Hypothesis::new(&username, &developer_key)?;
     /// /// Search for your own annotations:
     /// let search_query = SearchQuery::builder().user(&api.user.0).build()?;
@@ -446,10 +440,10 @@
     /// # async fn main() -> Result<(), Box<dyn std::error::Error>> {
     /// use hypothesis::Hypothesis;
     /// #    use hypothesis::annotations::InputAnnotation;
-    /// #    dotenv::dotenv()?;
-    /// #    let username = dotenv::var("HYPOTHESIS_NAME")?;
-    /// #    let developer_key = dotenv::var("HYPOTHESIS_KEY")?;
-    /// #    let group_id = dotenv::var("TEST_GROUP_ID").unwrap_or("__world__".into());
+    /// #    use std::env;
+    /// #    let username = env::var("HYPOTHESIS_NAME")?;
+    /// #    let developer_key = env::var("HYPOTHESIS_KEY")?;
+    /// #    let group_id = env::var("TEST_GROUP_ID").unwrap_or("__world__".into());
     /// let api = Hypothesis::new(&username, &developer_key)?;
     /// #    let annotation = api.create_annotation(&InputAnnotation::builder()
     /// #                       .text("string")
@@ -492,10 +486,10 @@
     /// # async fn main() -> Result<(), Box<dyn std::error::Error>> {
     /// use hypothesis::Hypothesis;
     /// #    use hypothesis::annotations::InputAnnotation;
-    /// #    dotenv::dotenv()?;
-    /// #    let username = dotenv::var("HYPOTHESIS_NAME")?;
-    /// #    let developer_key = dotenv::var("HYPOTHESIS_KEY")?;
-    /// #    let group_id = dotenv::var("TEST_GROUP_ID").unwrap_or("__world__".into());
+    /// #    use std::env;
+    /// #    let username = env::var("HYPOTHESIS_NAME")?;
+    /// #    let developer_key = env::var("HYPOTHESIS_KEY")?;
+    /// #    let group_id = env::var("TEST_GROUP_ID").unwrap_or("__world__".into());
     /// let api = Hypothesis::new(&username, &developer_key)?;
     /// #    let annotation = api.create_annotation(&InputAnnotation::builder()
     /// #                       .text("string")
@@ -620,9 +614,9 @@
     /// # async fn main() -> Result<(), Box<dyn std::error::Error>> {
     /// use hypothesis::Hypothesis;
     /// use hypothesis::groups::GroupFilters;
-    /// #     dotenv::dotenv()?;
-    /// #     let username = dotenv::var("HYPOTHESIS_NAME")?;
-    /// #     let developer_key = dotenv::var("HYPOTHESIS_KEY")?;
+    /// #     use std::env;
+    /// #     let username = env::var("HYPOTHESIS_NAME")?;
+    /// #     let developer_key = env::var("HYPOTHESIS_KEY")?;
     ///
     /// let api = Hypothesis::new(&username, &developer_key)?;
     /// /// Get all Groups belonging to user
@@ -663,9 +657,9 @@
     /// # #[tokio::main]
     /// # async fn main() -> Result<(), Box<dyn std::error::Error>> {
     /// use hypothesis::Hypothesis;
-    /// #     dotenv::dotenv()?;
-    /// #     let username = dotenv::var("HYPOTHESIS_NAME")?;
-    /// #     let developer_key = dotenv::var("HYPOTHESIS_KEY")?;
+    /// #     use std::env;
+    /// #     let username = env::var("HYPOTHESIS_NAME")?;
+    /// #     let developer_key = env::var("HYPOTHESIS_KEY")?;
     ///
     /// let api = Hypothesis::new(&username, &developer_key)?;
     /// let group = api.create_group("my_group", Some("a test group")).await?;
@@ -717,10 +711,10 @@
     /// # async fn main() -> Result<(), Box<dyn std::error::Error>> {
     /// use hypothesis::Hypothesis;
     /// use hypothesis::groups::Expand;
-    /// #     dotenv::dotenv()?;
-    /// #     let username = dotenv::var("HYPOTHESIS_NAME")?;
-    /// #     let developer_key = dotenv::var("HYPOTHESIS_KEY")?;
-    /// #     let group_id = dotenv::var("TEST_GROUP_ID")?;
+    /// #     use std::env;
+    /// #     let username = env::var("HYPOTHESIS_NAME")?;
+    /// #     let developer_key = env::var("HYPOTHESIS_KEY")?;
+    /// #     let group_id = env::var("TEST_GROUP_ID")?;
     ///
     /// let api = Hypothesis::new(&username, &developer_key)?;
     /// /// Expands organization into a struct
@@ -781,10 +775,10 @@
     /// # #[tokio::main]
     /// # async fn main() -> Result<(), Box<dyn std::error::Error>> {
     /// use hypothesis::Hypothesis;
-    /// #     dotenv::dotenv()?;
-    /// #     let username = dotenv::var("HYPOTHESIS_NAME")?;
-    /// #     let developer_key = dotenv::var("HYPOTHESIS_KEY")?;
-    /// #     let group_id = dotenv::var("TEST_GROUP_ID")?;
+    /// #     use std::env;
+    /// #     let username = env::var("HYPOTHESIS_NAME")?;
+    /// #     let developer_key = env::var("HYPOTHESIS_KEY")?;
+    /// #     let group_id = env::var("TEST_GROUP_ID")?;
     ///
     /// let api = Hypothesis::new(&username, &developer_key)?;
     /// let group = api.update_group(&group_id, Some("new_group_name"), None).await?;
@@ -846,10 +840,10 @@
     /// # #[tokio::main]
     /// # async fn main() -> Result<(), Box<dyn std::error::Error>> {
     /// use hypothesis::Hypothesis;
-    /// #     dotenv::dotenv()?;
-    /// #     let username = dotenv::var("HYPOTHESIS_NAME")?;
-    /// #     let developer_key = dotenv::var("HYPOTHESIS_KEY")?;
-    /// #     let group_id = dotenv::var("TEST_GROUP_ID")?;
+    /// #     use std::env;
+    /// #     let username = env::var("HYPOTHESIS_NAME")?;
+    /// #     let developer_key = env::var("HYPOTHESIS_KEY")?;
+    /// #     let group_id = env::var("TEST_GROUP_ID")?;
     ///
     /// let api = Hypothesis::new(&username, &developer_key)?;
     /// let members = api.get_group_members(&group_id).await?;
@@ -899,9 +893,9 @@
     /// # #[tokio::main]
     /// # async fn main() -> Result<(), Box<dyn std::error::Error>> {
     /// use hypothesis::Hypothesis;
-    /// #     dotenv::dotenv()?;
-    /// #     let username = dotenv::var("HYPOTHESIS_NAME")?;
-    /// #     let developer_key = dotenv::var("HYPOTHESIS_KEY")?;
+    /// #     use std::env;
+    /// #     let username = env::var("HYPOTHESIS_NAME")?;
+    /// #     let developer_key = env::var("HYPOTHESIS_KEY")?;
     /// let api = Hypothesis::new(&username, &developer_key)?;
     /// let profile = api.fetch_user_profile().await?;
     /// assert!(profile.userid.is_some());
@@ -929,9 +923,9 @@
     /// # #[tokio::main]
     /// # async fn main() -> Result<(), Box<dyn std::error::Error>> {
     /// use hypothesis::Hypothesis;
-    /// #     dotenv::dotenv()?;
-    /// #     let username = dotenv::var("HYPOTHESIS_NAME")?;
-    /// #     let developer_key = dotenv::var("HYPOTHESIS_KEY")?;
+    /// #     use std::env;
+    /// #     let username = env::var("HYPOTHESIS_NAME")?;
+    /// #     let developer_key = env::var("HYPOTHESIS_KEY")?;
     /// let api = Hypothesis::new(&username, &developer_key)?;
     /// let groups = api.fetch_user_groups().await?;
     /// #     Ok(())
--- a/tests/cli.rs
+++ b/tests/cli.rs
@@ -2,7 +2,7 @@
 
 use assert_cmd::Command;
 use predicates::prelude::*;
-use std::{thread, time};
+use std::{env, thread, time};
 
 use hypothesis::annotations::Annotation;
 
@@ -30,10 +30,9 @@
 
 #[test]
 fn add_and_delete_annotation() -> color_eyre::Result<()> {
-    dotenv::dotenv()?;
-    let group_id = dotenv::var("TEST_GROUP_ID").unwrap_or_else(|_| "__world__".into());
-    let username = dotenv::var("HYPOTHESIS_NAME")?;
-    let key = dotenv::var("HYPOTHESIS_KEY")?;
+    let group_id = env::var("TEST_GROUP_ID").unwrap_or_else(|_| "__world__".into());
+    let username = env::var("HYPOTHESIS_NAME")?;
+    let key = env::var("HYPOTHESIS_KEY")?;
 
     // Create a new annotation
     let id = create_annotation("test annotation comment", &username, &key, &group_id);
@@ -66,10 +65,9 @@
 
 #[test]
 fn update_annotation() -> color_eyre::Result<()> {
-    dotenv::dotenv()?;
-    let group_id = dotenv::var("TEST_GROUP_ID").unwrap_or_else(|_| "__world__".into());
-    let username = dotenv::var("HYPOTHESIS_NAME")?;
-    let key = dotenv::var("HYPOTHESIS_KEY")?;
+    let group_id = env::var("TEST_GROUP_ID").unwrap_or_else(|_| "__world__".into());
+    let username = env::var("HYPOTHESIS_NAME")?;
+    let key = env::var("HYPOTHESIS_KEY")?;
 
     // Create a new annotation
     let id = create_annotation("test annotation comment", &username, &key, &group_id);
@@ -111,10 +109,9 @@
 
 #[test]
 fn search_annotations() -> color_eyre::Result<()> {
-    dotenv::dotenv()?;
-    let group_id = dotenv::var("TEST_GROUP_ID").unwrap_or_else(|_| "__world__".into());
-    let username = dotenv::var("HYPOTHESIS_NAME")?;
-    let key = dotenv::var("HYPOTHESIS_KEY")?;
+    let group_id = env::var("TEST_GROUP_ID").unwrap_or_else(|_| "__world__".into());
+    let username = env::var("HYPOTHESIS_NAME")?;
+    let key = env::var("HYPOTHESIS_KEY")?;
     let ids = (0..4)
         .map(|i| create_annotation(&format!("test text {}", i), &username, &key, &group_id))
         .collect::<Result<Vec<_>, _>>()?;
@@ -174,9 +171,8 @@
 
 #[test]
 fn create_and_leave_group() -> color_eyre::Result<()> {
-    dotenv::dotenv()?;
-    let username = dotenv::var("HYPOTHESIS_NAME")?;
-    let key = dotenv::var("HYPOTHESIS_KEY")?;
+    let username = env::var("HYPOTHESIS_NAME")?;
+    let key = env::var("HYPOTHESIS_KEY")?;
 
     // Create a new group
     let group_id = create_group("test_name", "test description with spaces", &username, &key);
@@ -210,8 +206,8 @@
 
 #[test]
 fn update_group() -> color_eyre::Result<()> {
-    let username = dotenv::var("HYPOTHESIS_NAME")?;
-    let key = dotenv::var("HYPOTHESIS_KEY")?;
+    let username = env::var("HYPOTHESIS_NAME")?;
+    let key = env::var("HYPOTHESIS_KEY")?;
 
     // Create a new group
     let group_id = create_group("test_name", "test description with spaces", &username, &key);
