---
# System prepended metadata

title: BI ControlCode TestCase 舊版  (Track_ProtocolVer<4.0)

---

# BI ControlCode TestCase 舊版  (Track_ProtocolVer<4.0)

### TestCase1 解密失敗 
(略 這邊Code邏輯都一樣)
### TestCase2 解密成功，BI那邊有Exception
- 這邊採用 Client_RandomUUID為空
![](https://i.imgur.com/qpdtEzw.png)

### TestCase3 解密成功，BI那邊也成功
![](https://i.imgur.com/pwtGjrm.png)

<br><br><br><br>



# 新版 (Track_ProtocolVer>=4.0)
ControlCode的表如下
![](https://i.imgur.com/SVT4fwo.png)



### TestCase1 解密失敗 期望要收到 ConfigVersion為空
![](https://i.imgur.com/iSEmMtN.png)
![](https://i.imgur.com/ARegjCj.png)



### TestCase2 解密成功，BI那邊有Exception 依照ConfigVersion回傳對應的 ControlCode
- 這邊採用 Client_RandomUUID為空
1. 若ControlCode要更新
![](https://i.imgur.com/VDEBRQq.png)
2. 若ControlCode不需要更新
![](https://i.imgur.com/EkcPUFR.png)

3. (若是protocolVer 為空或奇怪格式 無法判斷是新舊版)
(1)在 BITrackingClientEncryptedData 的 Track_ProtocolVer為空或奇怪格式直接回走~
![](https://i.imgur.com/HH8pIJj.png) 
(2)在BITrackingClientReportData 的 Track_ProtocolVer為空或奇怪格式，無法判斷新舊版BI會直接彈錯~  (這邊需要客製修改嗎?)
4. (若是 Code2為空 回傳ConfigVersion為空) 
![](https://i.imgur.com/TujgOWD.png)
=> <font color="red">1207修正</font> 這邊應該要把它改成回傳完整ControlCode 
因為Client改版後第一次上傳為傳送出 空值的ConfigVersion
![](https://i.imgur.com/vb2boSQ.png)



5. Code2奇奇怪怪呢?  例如不為正常版本格式
![](https://i.imgur.com/OJoZpsx.png)
![](https://i.imgur.com/nYmUbwi.png)


### TestCase3 解密成功，BI那邊也成功，但ConfigVersion版本相同 期望要收到 ConfigVersion為空
![](https://i.imgur.com/eQnJ6ZW.png)



### TestCase4 解密成功，BI那邊也成功，Client ConfigVersion版本較舊 期望要收到新的ControlCode
![](https://i.imgur.com/TL05qGe.png)


```
{"ConfigVersion":"3","UploadPeriod":1,"Blacklisted":{"Subjects":[600,800,1300],"TrackIds":["BIProjectX","BIProjectY"],"Models":["AX123456","BX123456"]},"IsBlockedUUID":false}
```


