MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

एक मोंगो कनेक्शन बनाएं और तैयार में एक संपूर्ण टेस्ट सूट के निष्पादन के लिए इसे जीवंत बनाएं! एपीआई

नीचे दिए गए स्क्रिप्ट में पता चलता है कि ReadyAPI / SoapUI में आप जो खोज रहे हैं उसे कैसे हासिल करते हैं? . ध्यान दें कि आप पहले से ही जानते हैं कि gmongo . से कैसे जुड़ना है ग्रूवी में आपको कमेंट इनलाइन का पालन करके प्लेसहोल्डर में उस तर्क को जोड़ना होगा।

नीचे परीक्षण सूट स्तर है Setup Script डीबी कनेक्शन बनाने के लिए।

class DatabaseDetails {
    def server
    def user
    def password
    def log
    def getConnection() {
        log.info 'connection created'
        //Write logic to create connection
    }
    def closeConnection() {
        log.info 'Closing connection'
        //Write logic to close connection
    }
}
//Change server, user, password values according to your environment
def db = [ server:'localhost', user:'dbuser', password: 'dbuserpasswd', log: log] as DatabaseDetails
if (!db.connection) {
    db.connection
    testSuite.metaClass.db = db 
}

नीचे परीक्षण सूट स्तर है TearDown Script डीबी कनेक्शन बंद करने के लिए। चूंकि यह टियर डाउन स्क्रिप्ट में है, टेस्ट सूट का निष्पादन पूरा होते ही कनेक्शन अपने आप बंद हो जाता है

testSuite.db?.closeConnection()

अब, बार-बार डीबी कनेक्शन बनाने के लिए कदम उठाने की आवश्यकता नहीं है। आपको बस Groovy Script में नीचे दी गई स्क्रिप्ट का उपयोग करने की आवश्यकता है। मौजूदा डीबी कनेक्शन प्राप्त करने के लिए . परीक्षण चरण ।

def conn = context.testCase.testSuite.db?.connection

conn का उपयोग करना चर, आप प्रश्नों को निष्पादित करने में सक्षम होना चाहिए।

नोट : चूंकि डीबी कनेक्शन Setup Script में किया जाता है परीक्षण सूट का, यदि आप अभी परीक्षण केस चलाते हैं (यानी, परीक्षण सूट लागू या निष्पादित नहीं किया गया है), तो आप कनेक्शन प्राप्त करने में सक्षम नहीं हो सकते हैं। ऐसे मामलों में, Setup Script को मैन्युअल रूप से निष्पादित करें परीक्षण सूट का।

संपादित करें: प्रश्न में ओपी के संपादन और उसके कोड स्निपेट के आधार पर, यहां अद्यतन परीक्षण सूट की Setup Script है . यह getConnection() . के क्रियान्वयन का ध्यान रखता है और closeConnection() ओपी के संपादन के आधार पर। कृपया मोंगो कक्षाओं के लिए आयात विवरण जोड़ें / संपादित करें जिनका उपयोग किया जाता है क्योंकि मुझे वास्तव में उनके बारे में पता नहीं है।

अपडेट किया गया टेस्ट सूट की सेटअप स्क्रिप्ट

import com.gmongo.*
import com.mongodb.*

class DatabaseDetails {
    def context
    def log
    def mongoClient
    def mongoDB
    def getConnection() {
        log.info 'Creating connection.'
        //Write logic to create connection
        if (!mongoDB){        
        def credentials = MongoCredential.createCredential(
           context.expand('${#Project#MongoUser}'),
           context.expand('${#Project#MongoDatabase}'),
           context.expand('${#Project#MongoPassword}') as char[])
        mongoClient = new MongoClient( new ServerAddress(context.expand('${#Project#MongoServer}')),Arrays.asList(credentials) ) 
        mongoDB = new GMongo( mongoClient ).getDB(context.expand('${#Project#MongoDatabase}'))          
      }
      mongoDB
    }

    def closeConnection() {
        log.info 'Closing connection'
        //Write logic to close connection
        mongoClient.close()
    }
}

def db = [ context: context, log: log] as DatabaseDetails
if (!db.connection) {
    db.connection
    testSuite.metaClass.db = db 
}

जैसा कि पहले उल्लेख किया गया है, कनेक्शन प्राप्त करने के लिए, नीचे दिए गए कोड का उपयोग करें और इसे नीचे समझाएं।

context.testCase.testSuite.db?.connection

Groovy में ExpandoMetaclass नामक एक बड़ी विशेषता है। db testSuite में इंजेक्ट किया जाता है क्लास और db DatabaseDetails का उद्देश्य है क्लास जिसे हमने Setup Script . में बनाया और इंस्टेंट किया परीक्षण सूट का।

और db इसमें getConnection() शामिल है यानी, db.getConnection() जो db.connection . के समान भी हो सकता है . इस तरह कनेक्शन उपरोक्त कथन में उपलब्ध है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. पासवर्ड के लिए नेवला कस्टम सत्यापन

  2. मैं विकास के साथ उत्पादन उल्का जेएस डेटाबेस को कैसे सिंक्रनाइज़ कर सकता हूं?

  3. MongoDB और C# ड्राइवर का उपयोग करके उप दस्तावेज़ संग्रह को कैसे क्वेरी करें?

  4. MongoDB डेटाबेस प्रोफाइलर का अवलोकन

  5. स्प्रिंग डेटा MongoDB के साथ संग्रह आधारित बहु किरायेदारी