- 
                Notifications
    You must be signed in to change notification settings 
- Fork 62
Added HONOJS and mongodb restapi server #70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
| Nice Pr 😄. We currently support Unit Test Generation only for Go projects. | 
    
      
        1 similar comment
      
    
  
    | Nice Pr 😄. We currently support Unit Test Generation only for Go projects. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @Shu12388y
Could you please add a README explaining how to run this sample app?
Also, include the test cases generated using Keploy in the sample app
| @Achanandhi-M OK I will add the readme | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a new Hono-based REST API application with MongoDB integration for managing books. The implementation includes CRUD operations, test coverage, and Docker deployment configuration.
- Sets up a Book API with MongoDB using Hono framework and Mongoose
- Implements comprehensive test suite for all CRUD endpoints
- Provides Docker and docker-compose configuration for containerized deployment
Reviewed Changes
Copilot reviewed 11 out of 12 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description | 
|---|---|
| hono-mongo/tsconfig.json | TypeScript configuration with strict mode and JSX support | 
| hono-mongo/src/utils/DB.ts | Database connection utility with connection and disconnection logic | 
| hono-mongo/src/test/book.test.ts | Comprehensive test suite covering all book CRUD operations | 
| hono-mongo/src/models/Book.Model.ts | Mongoose schema and model definition for Book entity | 
| hono-mongo/src/index.ts | Main application file with route definitions and server setup | 
| hono-mongo/package.json | Project dependencies and scripts configuration | 
| hono-mongo/keploy.yml | Keploy testing configuration file | 
| hono-mongo/dockerfile | Docker image configuration using Node.js 16 | 
| hono-mongo/docker-compose.yml | Multi-container setup with app and MongoDB services | 
| hono-mongo/README.md | Basic installation and usage instructions | 
| hono-mongo/.gitignore | Git ignore patterns for dependencies, logs, and environment files | 
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| try { | ||
| await mongoose.connect(""); | 
    
      
    
      Copilot
AI
    
    
    
      Oct 30, 2025 
    
  
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Empty connection string passed to mongoose.connect(). This will cause the database connection to fail. The connection string should be read from environment variables or configuration.
| try { | |
| await mongoose.connect(""); | |
| const mongoUri = process.env.MONGO_URI; | |
| if (!mongoUri) { | |
| throw new Error("MONGO_URI environment variable is not set."); | |
| } | |
| try { | |
| await mongoose.connect(mongoUri); | 
| } finally { | ||
| mongoose.disconnect(); | ||
| } | 
    
      
    
      Copilot
AI
    
    
    
      Oct 30, 2025 
    
  
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The DB function immediately disconnects after connecting in the finally block. This defeats the purpose of establishing a connection, as mongoose.disconnect() will close it right away. Remove the finally block or move the disconnect logic to application shutdown.
| } finally { | |
| mongoose.disconnect(); | |
| } | 
| try { | ||
| await mongoose.connect(""); | ||
| } catch (error) { | ||
| console.log("DataBase Error" + error); | 
    
      
    
      Copilot
AI
    
    
    
      Oct 30, 2025 
    
  
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'DataBase' to 'Database'.
| console.log("DataBase Error" + error); | |
| console.log("Database Error" + error); | 
| try { | ||
| await mongoose.connect(""); | ||
| } catch (error) { | ||
| console.log("DataBase Error" + error); | 
    
      
    
      Copilot
AI
    
    
    
      Oct 30, 2025 
    
  
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Error message uses string concatenation which may not display error details properly. Use template literals or proper error formatting: console.error('Database Error:', error);
| console.log("DataBase Error" + error); | |
| console.log(`DataBase Error:`, error); | 
| try { | ||
| await mongoose.connect(""); | ||
| } catch (error) { | ||
| console.log("DataBase Error" + error); | 
    
      
    
      Copilot
AI
    
    
    
      Oct 30, 2025 
    
  
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use console.error() instead of console.log() for error messages to ensure they are logged to stderr and properly categorized.
| console.log("DataBase Error" + error); | |
| console.error("DataBase Error" + error); | 
| self: s1 | ||
| inCi: false | ||
|  | ||
| # Visit [https://keploy.io/docs/running-keploy/configuration-file/] to learn about using keploy through configration file. | 
    
      
    
      Copilot
AI
    
    
    
      Oct 30, 2025 
    
  
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'configration' to 'configuration'.
| # Visit [https://keploy.io/docs/running-keploy/configuration-file/] to learn about using keploy through configration file. | |
| # Visit [https://keploy.io/docs/running-keploy/configuration-file/] to learn about using keploy through configuration file. | 
| environment: | ||
| - MONGO_URI=mongodb://mongo:27017/booklist | 
    
      
    
      Copilot
AI
    
    
    
      Oct 30, 2025 
    
  
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The MONGO_URI environment variable is defined in docker-compose.yml but not used in the application code (DB.ts has an empty connection string). The application should read this environment variable to establish the database connection.
I have added the MongoDB with hono js RESy API sample server