eclipse-cdt-cloud / eclipse-cdt-cloud/tsp-python-client

--params option not sufficient for global configuration

Open
#93 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
6
Forks
16
PR merge metrics
No merged PRs in 30d

Description

### Bug Description:

--params option not sufficient for global configuration because it's only for the parameters passed as `parameters` map in the ConfigurationQueryParameters. There is no way to add the name to ConfigurationQueryParameters which is passed in the post_configuration() method of the `TspClient`. The "post_configuration" method() creates the query parameters without name:

```python
def post_configuration(self, type_id, params):
api_url = '{0}config/types/{1}/configs'.format(self.base_url, type_id)
parameters = {'parameters': params}
response = requests.post(api_url, json=parameters, headers=headers)
...
```
The handwritten python client doesn't verify if name is passed to the body of HTTP post call. However, generated clients will verify it because it's a required field.

Moreover, backend implemenation of a configuration source will rely on it because it's required. Note, that the XMLConfigurationSource of the Trace Compass server is the sole implementation in Trace Compass so far and it doesn't require a name and ignores it. The filename of the xml file configured in the path variable is assigned as name.

Change python code to pass a user defined name similarly when posting output configurations using a json file.

### Steps to Reproduce:

No easy way to reproduce. Just debug the client code (TspClient.post_configuration()) and see that the name is not passed.

### Additional Information

- Operating System:

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.