Git Product home page Git Product logo

nia-cloud-official / zora_framework Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 25 KB

Zora is an open-source automated testing framework designed specifically for testing database functionalities. It supports multiple database management systems including MySQL, PostgreSQL, and MongoDB. The framework provides a comprehensive suite of tests to ensure data integrity, reliability, and performance across different database types.

Home Page: https://docs.zoralumin.com

PHP 50.11% CSS 9.25% JavaScript 27.17% Hack 7.54% NSIS 2.15% HTML 3.77%
framework php php-testing sql-testing testing-framework testing-tools

zora_framework's Introduction

Zora Database Testing Framework

Zora is an open-source automated testing framework designed specifically for testing database functionalities. It supports multiple database management systems including MySQL, PostgreSQL, and MongoDB. The framework provides a comprehensive suite of tests to ensure data integrity, reliability, and performance across different database types.

Features

  • Comprehensive Testing Suite: Includes tests for database schema, data integrity, query performance, and data consistency.
  • Database Agnostic: Supports MySQL, PostgreSQL, and MongoDB, making it versatile for various database environments.
  • Easy Integration: Seamlessly integrates with CI/CD pipelines using popular tools like Jenkins, Travis CI, and CircleCI.
  • Customizable: Developers can create custom tests and test suites tailored to specific database requirements.
  • Real-time Reporting: Provides detailed, real-time reports on test results to quickly identify and resolve issues.
  • Collaboration: Supports multi-user collaboration for teams working on database testing and development.

Installation

  1. Clone the Repository:

    git clone https://github.com/your-username/zora-database-testing.git
    cd zora-database-testing
  2. Configuration:

    • Navigate to config/database.php and configure database credentials:
      return [
          'mysql' => [
              'default' => [
                  'host' => '127.0.0.1',
                  'username' => 'root',
                  'password' => '',
                  'database' => 'test_db'
              ],
              'custom' => [
                  'host' => '',        // User-provided host
                  'username' => '',    // User-provided username
                  'password' => '',    // User-provided password
                  'database' => ''     // User-provided database name
              ]
          ],
          'pgsql' => [
              'default' => [
                  'host' => '127.0.0.1',
                  'username' => 'postgres',
                  'password' => '',
                  'database' => 'test_db'
              ],
              'custom' => [
                  'host' => '',        // User-provided host
                  'username' => '',    // User-provided username
                  'password' => '',    // User-provided password
                  'database' => ''     // User-provided database name
              ]
          ],
          'mongodb' => [
              'default' => [
                  'host' => '127.0.0.1',
                  'username' => '',
                  'password' => '',
                  'database' => 'test_db'
              ],
              'custom' => [
                  'host' => '',        // User-provided host
                  'username' => '',    // User-provided username
                  'password' => '',    // User-provided password
                  'database' => ''     // User-provided database name
              ]
          ]
      ];
  3. Usage:

    • Access the framework via a web browser or integrate into your PHP application:
      // Example usage in a PHP script or controller
      use Zora\Framework\Zora;
      
      $dbType = 'mysql'; // Change to desired database type ('mysql', 'pgsql', 'mongodb')
      $zora = new Zora($dbType);
      $result = $zora->runTests();
      
      echo json_encode([
          'message' => $result['message'],
          'report' => $result['report']
      ]);
  4. Contributing:

    • Fork the repository, make your changes, and submit a pull request.
  5. Support:

  6. License:

    • This project is licensed under the MIT License - see the LICENSE file for details.

The Roadmap

Welcome to the Zora Database Testing Framework Roadmap!

Version 1.0 (Current Release)

  • Core Functionality

    • Implement basic functionality for MySQL, PostgreSQL, and MongoDB testing.
    • Include tests for connection, query execution, schema validation, data integrity, performance, and consistency.
    • Generate basic test reports in JSON format.
  • Integration

    • Integrate with popular CI/CD tools like Jenkins, Travis CI, and CircleCI for automated testing.

Version 1.1 (Upcoming Release)

  • Enhanced Features

    • Expand test coverage with additional database-specific tests.
    • Implement support for custom test configurations.
    • Improve error handling and reporting mechanisms.
  • User Interface

    • Develop a basic web-based UI for viewing test results.
    • Include options for exporting reports in different formats (e.g., JSON, HTML).

Version 1.2 (Future Release)

  • Advanced Functionality

    • Introduce support for more database types, such as SQLite, Oracle, and SQL Server.
    • Implement performance benchmarking tools for query optimization.
  • Collaboration

    • Enable multi-user support with role-based access control.
    • Integrate with version control systems for tracking database schema changes.

Future Directions

  • API Integration

    • Develop RESTful API endpoints for integrating test results into third-party applications.
    • Implement webhook support for real-time notifications on test completion.
  • Extensibility

    • Create plugins and extensions for adding custom tests and integrating with new databases.
    • Foster a community-driven ecosystem for sharing plugins and enhancements.

Contribution Guidelines

  • Bug Fixes and Features
    • Encourage community contributions through clear documentation and issue tracking.
    • Follow best practices for code review, testing, and documentation.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

Feedback and Support

Check out the documentation on https://docs.zoralumin.com Your feedback is valuable! Please open issues for bug reports, feature requests, or general feedback. For support inquiries, reach out to [email protected].

zora_framework's People

Contributors

nia-cloud-official avatar

Stargazers

timothyjoseph263 avatar  avatar

Watchers

 avatar timothyjoseph263 avatar

zora_framework's Issues

Unable to Connect to MongoDB Database with Custom Configuration

Description: I'm experiencing issues when trying to connect to a MongoDB database using a custom configuration in the Zora Database Testing Framework. I've followed the installation and configuration steps outlined in the documentation, but I'm still unable to establish a connection.

Steps to Reproduce:

Clone the Zora Database Testing Framework repository: git clone https://github.com/your-username/zora-database-testing.git
Configure the config/database.php file with the following custom MongoDB settings:

php

'mongodb' => [

'custom' => [

    'host' => 'my-mongodb-host',

    'username' => 'my-mongodb-username',

    'password' => 'my-mongodb-password',

    'database' => 'my-mongodb-database'

]

]

Run the tests using the following PHP script:

php

use Zora\Framework\Zora;

$dbType = 'mongodb';

$zora = new Zora($dbType);

$result = $zora->runTests();

echo json_encode([

'message' => $result['message'],

'report' => $result['report']

]);

Expected Result: The tests should run successfully and provide a detailed report on the test results.

Actual Result: The connection to the MongoDB database fails, and the tests do not run.

Additional Information: I've double-checked my MongoDB credentials and ensured that the database is running. I've also tried using the default MongoDB configuration, but the issue persists.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.