fakeldap

Screenshot Λογισμικό:
fakeldap
Στοιχεία Λογισμικού:
Εκδοχή: 0.5.1
Ανεβάστε ημερομηνία: 11 May 15
Προγραμματιστής: Christo Buschek
Άδεια: Δωρεάν
Δημοτικότητα: 11

Rating: nan/5 (Total Votes: 0)

fakeldap είναι μια ενότητα Python που παρέχει έναν απλό τρόπο για να κοροϊδεύει τους διακομιστές LDAP backend για unittests σας & nbsp?. Καθιστά δυνατό να καθοριστούν εκ των προτέρων μια σειρά από καταχωρήσεις καταλόγου που μπορούν να ερωτηθούν ή να ρυθμίσετε τις τιμές σταθερή απόδοση σε LDAP ερωτήματα. Δρα ως πτώση σε αντικατάσταση για την κατηγορία LDAPObject της μονάδας python-LDAP. Εφαρμόζει ένα υποσύνολο των επιτρέπονται μεθόδους αυτής της κατηγορίας.
Αυτή η μονάδα υλοποιεί την κατηγορία MockLDAP που λειτουργεί τόσο ως LDAPObject, καθώς και το δομοστοιχείο LDAP. Το μεγαλύτερο μέρος του κώδικα και το σχεδιασμό έχει ληφθεί από την εξαιρετική μονάδα Django-auth-LDAP Peter Sagerson του.
installation
Αποκτήστε και εγκαταστήστε τον κωδικό:
& Nbsp? GIT κλώνος GIT: //github.com/30loops/fakeldap.git
& Nbsp? Cd fakeldap
& Nbsp? Python setup.py εγκαταστήσετε
Αν θέλετε, μπορείτε να εκτελέσετε τις δοκιμές:
& Nbsp? Nosetests python setup.py
Χρήση
Σημείωση: Αυτός ο κώδικας είναι ακόμα σε πειραματικό στάδιο και δεν είναι πολύ δοκιμαστεί από ακόμα. Έτσι είναι η τεκμηρίωση
Η τάξη MockLDAP αντικαθιστά το LDAPObject της μονάδας python-LDAP. Ο ευκολότερος τρόπος για να το χρησιμοποιήσετε, είναι να αντικαταστήσετε ldap.initialize να επιστρέψει MockLDAP αντί LDAPObject. Το παρακάτω παράδειγμα χρησιμοποιεί Mock βιβλιοθήκη του Michael Foord να επιτευχθεί αυτό:
unittest εισαγωγής
από ψευδο-μπάλωμα εισαγωγής
από fakeldap MockLDAP εισαγωγής
_mock_ldap = MockLDAP ()
κατηγορία YourTestCase (unittest.TestCase):
& Nbsp? Ρύθμιση ευκρίνειας (αυτο):
& Nbsp? # Patch όπου χρησιμοποιείται η βιβλιοθήκη LDAP:
& Nbsp? Self.ldap_patcher = επίθεμα («app.module.ldap.initialize»)
& Nbsp? Self.mock_ldap = self.ldap_patcher.start ()
& Nbsp? Self.mock_ldap.return_value = _mock_ldap
& Nbsp? Def λύσιμο (αυτο):
& Nbsp? _mock_ldap.reset ()
& Nbsp? Self.mock_ldap.stop ()
Η μακέτα αντικείμενο LDAP υλοποιεί τις ακόλουθες εργασίες LDAP:
- Simple_bind_s
- Search_s
- Compare_s
- Modify_s
- Delete_s
- Add_s
- Rename_s
Αυτό είναι ένα παράδειγμα πώς να χρησιμοποιήσετε MockLDAP με τις αξίες σταθερής απόδοσης:
def test_some_ldap_group_stuff (αυτο):
& Nbsp? # Ορίστε την αναμενόμενη τιμή επιστροφής για τη λειτουργία LDAP
& Nbsp? Return_value = ("cn = testgroup, ou = ομάδα, dc = 30loops, dc = καθαρή", {
& Nbsp? "ObjectClass»: ['posixGroup »],
& Nbsp? «ΣΟ»: «testgroup»,
& Nbsp? "GidNumber»: «μέχρι το 2030»,
& Nbsp?})
& Nbsp? # Καταχωρήστε μια τιμή επιστροφής με το αντικείμενο MockLDAP
& Nbsp? _mock_ldap.set_return_value («Add_s»,
& Nbsp? ("Cn = testgroup, ou = ομάδες, dc = 30loops, dc = καθαρό", (
& Nbsp? («ObjectClass», («posixGroup»)),
& Nbsp? («ΣΟ», «testgroup»),
& Nbsp? («GidNumber ',' 2030 '))),
& Nbsp? (105, [], 10, []))
& Nbsp? # Τρέξτε πραγματικό κώδικα σας, αυτό είναι μόνο ένα παράδειγμα
& Nbsp? Group_manager = GroupManager ()
& Nbsp? = Αποτέλεσμα group_manager.add ("testgroup")
& Nbsp? # Ισχυρίζονται ότι η τιμή επιστροφής της μεθόδου και της MockLDAP
& Nbsp? # Είναι, όπως αναμενόταν, εδώ χρησιμοποιώντας eq () εργαλείο ελέγχου python-μύτη του:
& Nbsp? Eq_ (return_value, αποτέλεσμα)
& Nbsp? # Κάθε πραγματική LDAP καλέσετε το λογισμικό σας κάνει παίρνει καταγράφονται. Θα μπορούσες
& Nbsp? # Ετοιμάσει μια λίστα με τις κλήσεις που αναμένετε να εκδοθεί και να το συγκρίνετε:
& Nbsp? Called_records = []
& Nbsp? Called_records.append ((«simple_bind_s»,
& Nbsp? {«Ποιος»: «cn = διαχειριστή, dc = 30loops, dc = δίχτυ», «πιστοποιήσεων»: «ldaptest '}))
& Nbsp? Called_records.append ((«add_s», {
& Nbsp? "DN»: «cn = testgroup, ou = ομάδες, dc = 30loops, dc = καθαρή»,
& Nbsp? «Ρεκόρ»: [
& Nbsp? («ObjectClass», [«posixGroup»]),
& Nbsp? («GidNumber ',' 2030 '),
& Nbsp? («ΣΟ», «testgroup»),
& Nbsp?]}))
& Nbsp? # Και πάλι δοκιμάσει την αναμενόμενη συμπεριφορά
& Nbsp? Eq_ (called_records, _mock_ldap.ldap_methods_called_with_arguments ())
Εκτός από τον καθορισμό τιμών επιστροφής για τις ειδικές προσκλήσεις, μπορείτε επίσης να μιμηθεί ένα πλήρες διακομιστή LDAP με έναν κατάλογο καταχωρήσεων:
# Δημιουργήστε ένα στιγμιότυπο του MockLDAP με ένα προκαθορισμένο κατάλογο
δέντρο = {
& Nbsp? "Cn = διαχειριστή, dc = 30loops, dc = καθαρή": {
& Nbsp? "UserPassword": "ldaptest"
& Nbsp?}
}
mock_ldap = MockLDAP (δέντρο)
ρεκόρ = [
& Nbsp? ("Uid», «Κρίτωνα»),
& Nbsp? («UserPassword», «μυστική»),
]
# Η τιμή επιστροφής περιμένω πότε μπορώ να προσθέσω ένα ακόμα ρεκόρ στον κατάλογο
eq_ (
& Nbsp? (105, [], 1 []),
& Nbsp? Mock_ldap.add_s ("uid = Κρίτωνα, ou = άνθρωποι, dc = 30loops, dc = καθαρή", εγγραφή)
)
# Η αναμενόμενη κατάλογο
κατάλογο = {
& Nbsp? "Cn = διαχειριστή, dc = 30loops, dc = καθαρή": {"UserPassword": "ldaptest"},
& Nbsp? "Uid = Κρίτωνα, ou = άνθρωποι, dc = 30loops, dc = καθαρή": {
& Nbsp? "Uid": "Κρίτων", "UserPassword": "μυστικό"}
}
# Συγκρίνετε την αναμενόμενη κατάλογο με τον κατάλογο MockLDAP
eq_ (κατάλογο, mock_ldap.directory)

Απαιτήσεις :

  • Python

Παρόμοια λογισμικά

ContiPerf
ContiPerf

20 Feb 15

nbdebug
nbdebug

11 May 15

proboscis
proboscis

20 Feb 15

NoseDBReport
NoseDBReport

20 Feb 15

Σχόλια για fakeldap

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!