TestLink Integration with Authorized Trac

上一篇 / 下一篇  2012-03-12 09:26:37 / 个人分类:Testlink

TestLink集成Trac, 网上有一篇文章是介绍了2种工具的集成,详细内容参见http://blog.csdn.net/coolcqz/article/details/4188236
此种方法的集成是在可以匿名访问Trac的基础上实现的,也就是说如果Trac要求必须登录的话,这种方法是不适用的。
Google上搜索了很久,找到一篇贴子讲的就是如何集成这种需要认证的Trac的,参见http://51elliot.blogspot.com/2009/01/trac-testlink-and-xml-rpc.html
里面主要内容就是讲如何集成认证Trac的内容,主要的关键点在以下几方面:
1. 保证Trac上已经安装了XML-RPC的插件
2. 按照http://blog.csdn.net/coolcqz/article/details/4188236 中所定义的顺序进行配置
3. 对需要验证的Trac,还需要做如下配置,红色字体部分为需要添加或更新的地方
modified
/../testlink/cfg/trac.cfg.php,added:
define('BUG_TRACK_XMLRPC_HOST', 'http://username:password@YourIpAddress');

modified /../testlink/lib/bugtracking/int_trac.php:
$this->xmlrpcClient = new IXR_Client(BUG_TRACK_XMLRPC_HOST.$tracProjectName.'/login/xmlrpc');

modified
/../testlink/third_party/xml-rpc/class-IXR.php

function query() {
$args = func_get_args();
$method = array_shift($args);
$request = new IXR_Request($method, $args);
$length = $request->getLength();
$xml = $request->getXml();
$r = "\r\n";
$credentials = "";
if ($this->user != "") {
$credentials = base64_encode($this->user . ":" . $this->pass);
}

$request = "POST {$this->path} HTTP/1.0$r";
$request .= "Host: {$this->server}$r";
if ($credentials != "") {$request .= "Authorization: Basic {$credentials}$r";}

function IXR_Client(
$server, $path = false, $port = 80, $timeout = false) {
if (!$path) {
// Assume we have been given a URL instead$bits = parse_url($server);
$this->server = $bits['host'];
$this->port = isset($bits['port']) ? $bits['port'] : 80;
$this->user = isset($bits['user']) ? $bits['user'] : '';
$this->pass = isset($bits['pass']) ? $bits['pass'] : '';

TAG: Authorized TestLink testlink Testlink trac Trac

 

评分:0

我来说两句

Open Toolbar