Code Monkey home page Code Monkey logo

couchbase-testing's Introduction

couchbase-testing

Build Status Coverage Status

TODOs

Couchbase Layer

  • Metric Gathering
  • Views/Queries
  • Getting from Replicate Management (load-balancing)
  • Simulation (in-memory mode) for all verbs (get, update, append,prepend, ...) for views also and cas
  • Simulation of expiration
  • management of time to simulate data expiration
  • Replicate/Timeout/Persistance Management (ReplicateTo/PersistTo)
  • ~~Unique Index ~~
  • Datamodel upgrade management
  • History :
    • Keep previous revision at document level
    • Audited Fields
    • Per session, Per Update history
    • External Bucket History
    • History Life cycle (cf life cycle of docs)
    • History can be gzipped or not
    • Management of DataModel Updates
  • Life Cycle :
    • Short Term : Pure TTL with per access extension (touch, ...)
    • Long Term :
      • With direct Delete
      • With Archive + Delete
      • With Archive + Delete after TTL
      • Archive in Zipped format or not
      • Management of DataModel Updates for archives (or use pure anonymous archive? generic json for instance ?)

Model layer

  • Be able to generate an model introspector (to extract XSD or Json-schema) - better at compile time
  • Generate classes base on XML Schema or Json similar (include datamodel upgrade definition)
  • Visitor Tool
  • Validator rewrite

Framework Layer

  • event based notification
  • MDC integration
  • Unified SOAP & REST API (Use of jibx mappings - or use jackson xml)
  • Configuration (properties + db config + overriding management) + AutoReload - timebase

Infrastructure Layer

  • Logging management (local + distributed & correlation) - LogStash
  • Security Layer (and Auditing)
  • Configuration (and configuration override/deploy) - have look at Netflix's archaius
  • Perfs/Stats Monitoring (using - dropwizard metrics)
  • Version Upgrades
  • Integration with Storm - DRPC, standard - , kafka (& ElasticSearch, Esper?)
  • Integration with Apache Curator (zookeeper, service dispatch)

Testing

  • Job Unit Tests (~ integration tests) with or without calc only, db simulator
  • Job Unit Tests with failure automation
  • Job Unit Tests with race condition
  • Unit Tests/Integration Test/Non regression Dataset Management tools :
    • Json/XML based patch / checks definition
    • Database loading with in memory (calc only) or real database insert
    • tools for easy BDD management (ex using Cucumber-JVM for instance)
  • Overriding of logs levels for tests/production purposes

Business Layer

  • Catalog Cache and version deployment (reuse of config checks) using change-sets as a base
  • Rating with 3 modes (rating engine itself doesn't matter) :
    • Batch (incremental, full context rerate,...)
    • Near-Realtime
    • RealTime
    • use of logs for analysis (+elasticsearch)
  • Billing (phases of billing - change of cycle, ...).
    • Here also parts of engine (discount, fees billing, ledger,...)
    • Should be replaceable
  • Installed Base updates management

###Admin

  • IHM (AngularJS)

couchbase-testing's People

Contributors

dreameddeath avatar

Watchers

 avatar

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.