fakeldap

Phần mềm chụp màn hình:
fakeldap
Các chi tiết về phần mềm:
Phiên bản: 0.5.1
Ngày tải lên: 11 May 15
Nhà phát triển: Christo Buschek
Giấy phép: Miễn phí
Phổ biến: 11

Rating: nan/5 (Total Votes: 0)

fakeldap là một mô-đun Python cung cấp một cách đơn giản để thử máy chủ LDAP phụ trợ cho unittests của bạn & nbsp;. Nó làm cho nó có thể để xác định trả trước một tập hợp các mục thư mục có thể được truy vấn hoặc thiết lập các giá trị trở lại cố định để LDAP truy vấn. Nó hoạt động như một giảm thay thế cho lớp LDAPObject của module python-ldap. Nó thực hiện một tập hợp các phương pháp cho phép các lớp học này.
Module này thực hiện các lớp MockLDAP có chức năng cả hai như là LDAPObject cũng như các mô-đun ldap. Hầu hết các mã và thiết kế đã được lấy từ tuyệt vời mô-đun django-auth-ldap Peter Sagerson của.
Cài đặt
Nhận và cài đặt mã:
& Nbsp; git clone git: //github.com/30loops/fakeldap.git
& Nbsp; cd fakeldap
& Nbsp; python setup.py cài đặt
Nếu bạn muốn, bạn có thể chạy các bài kiểm tra:
& Nbsp; nosetests python setup.py
Cách sử dụng
Lưu ý: Mã này vẫn còn thực nghiệm và không phải rất thử nghiệm như được nêu ra. Vì vậy, là tài liệu hướng dẫn
Lớp MockLDAP thay thế LDAPObject của module python-ldap. Cách đơn giản nhất để sử dụng nó, là để ghi đè lên ldap.initialize để trở MockLDAP thay vì LDAPObject. Ví dụ dưới đây sử dụng thư viện Mock Michael Foord để đạt được điều đó:
unittest nhập khẩu
từ vá nhập khẩu giả
từ fakeldap MockLDAP nhập khẩu
_mock_ldap = MockLDAP ()
lớp YourTestCase (unittest.TestCase):
& Nbsp; def thiết lập (tự):
& Nbsp; # patch nơi thư viện ldap được sử dụng:
& Nbsp; self.ldap_patcher = patch ('app.module.ldap.initialize')
& Nbsp; self.mock_ldap = self.ldap_patcher.start ()
& Nbsp; self.mock_ldap.return_value = _mock_ldap
& Nbsp; def teardown (tự):
& Nbsp; _mock_ldap.reset ()
& Nbsp; self.mock_ldap.stop ()
Các đối tượng ldap giả thực hiện các hoạt động ldap sau:
- Simple_bind_s
- Search_s
- Compare_s
- Modify_s
- Delete_s
- Add_s
- Rename_s
Đây là một ví dụ làm thế nào để sử dụng MockLDAP với giá trị trả lại cố định:
def test_some_ldap_group_stuff (tự):
& Nbsp; # Xác định giá trị lợi nhuận kỳ vọng cho sự vận hành ldap
& Nbsp; return_value = ("cn = testgroup, ou = nhóm, dc = 30loops, dc = net", {
& Nbsp; 'objectClass': ['posixGroup'],
& Nbsp; 'cn': 'testgroup',
& Nbsp; 'gidNumber': '2030',
& Nbsp;})
& Nbsp; # Đăng ký một giá trị trả về với các đối tượng MockLDAP
& Nbsp; _mock_ldap.set_return_value ('add_s',
& Nbsp; ("cn = testgroup, ou = nhóm, dc = 30loops, dc = net", (
& Nbsp; ('objectClass', ('posixGroup')),
& Nbsp; ('cn', 'testgroup'),
& Nbsp; ('gidNumber', '2030'))),
& Nbsp; (105, [], 10, []))
& Nbsp; # Khởi mã thực tế của bạn, đây chỉ là một ví dụ
& Nbsp; group_manager = GroupManager ()
& Nbsp; kết quả = group_manager.add ("testgroup")
& Nbsp; # khẳng định rằng giá trị trả về của phương pháp của bạn và của MockLDAP
& Nbsp; # là như mong đợi, ở đây sử dụng eq () công cụ kiểm tra python-mũi:
& Nbsp; eq_ (return_value, kết quả)
& Nbsp; # Mỗi ldap thực tế gọi phần mềm của bạn làm được ghi lại. Bạn có thể
& Nbsp; # chuẩn bị một danh sách các cuộc gọi mà bạn mong đợi để được phát hành và so sánh nó:
& Nbsp; called_records = []
& Nbsp; called_records.append (('simple_bind_s',
& Nbsp; {'người': 'cn = admin, dc = 30loops, dc = net', 'cred': 'ldaptest'}))
& Nbsp; called_records.append (('add_s', {
& Nbsp; 'dn': 'cn = testgroup, ou = nhóm, dc = 30loops, dc = net ",
& Nbsp; 'kỷ lục': [
& Nbsp; ('objectClass', ['posixGroup']),
& Nbsp; ('gidNumber', '2030'),
& Nbsp; ('cn', 'testgroup'),
& Nbsp;]}))
& Nbsp; # Và một lần nữa kiểm tra hành vi dự kiến
& Nbsp; eq_ (called_records, _mock_ldap.ldap_methods_called_with_arguments ())
Bên cạnh việc sửa giá trị trả lại cho các cuộc gọi cụ thể, bạn cũng có thể bắt chước một máy chủ ldap đầy đủ với một thư mục các mục:
# Tạo một thể hiện của MockLDAP với một thư mục cài sẵn
cây = {
& Nbsp; "cn = admin, dc = 30loops, dc = net": {
& Nbsp; "userPassword": "ldaptest"
& Nbsp;}
}
mock_ldap = MockLDAP (cây)
kỷ lục = [
& Nbsp; ('uid', 'crito'),
& Nbsp; ('userPassword', 'bí mật'),
]
# Các giá trị trả lại tôi mong đợi khi tôi thêm một kỷ lục vào thư mục
eq_ (
& Nbsp; (105, [], 1, []),
& Nbsp; mock_ldap.add_s ("uid = crito, ou = người, dc = 30loops, dc = net", bản ghi)
)
# Các thư mục dự kiến
directory = {
& Nbsp; "cn = admin, dc = 30loops, dc = net": {"userPassword": "ldaptest"},
& Nbsp; "uid = crito, ou = người, dc = 30loops, dc = net": {
& Nbsp; "uid": "crito", "userPassword": "bí mật"}
}
# So sánh các thư mục mong đợi với các thư mục MockLDAP
eq_ (thư mục, mock_ldap.directory)

Yêu cầu :

  • Python

Phần mềm tương tự

Ý kiến ​​để fakeldap

Bình luận không
Nhập bình luận
Bật hình ảnh!