[ARVADOS-WORKBENCH2] updated: 1.4.1-404-gbbcdcd7b

Git user git at public.arvados.org
Mon Aug 17 18:39:08 UTC 2020


Summary of changes:
 .env                                               |  2 +-
 ...llections-content-address-middleware-service.ts | 13 ++++-----
 .../data-explorer-middleware-service.ts            |  2 +-
 .../group-details-panel-middleware-service.ts      |  3 +-
 src/store/sharing-dialog/sharing-dialog-actions.ts |  4 +--
 src/store/users/users-actions.ts                   |  2 +-
 src/store/workflow-panel/workflow-panel-actions.ts |  4 +--
 .../current-token-dialog.test.tsx                  | 32 ++++++++++++----------
 .../current-token-dialog/current-token-dialog.tsx  | 28 +++++++++----------
 .../sharing-dialog/participant-select.tsx          |  6 ++--
 10 files changed, 50 insertions(+), 46 deletions(-)

       via  bbcdcd7b7582b43ca4853e436df383ff9dda465a (commit)
       via  d4349585e37a0470f87c231bbb81272d7ef272a0 (commit)
       via  b1250d13a43d4351c6cbca7990c996b3219693d0 (commit)
       via  443670b243162855896b3cd46e782faa43cae266 (commit)
       via  eef287410add9414413e19be236e6f422eeb3e7c (commit)
       via  63e2f0e072d4e03d0e01643df94c7dca051a1ce4 (commit)
      from  27f1790ada926f4c9f8a2bd23909cb1490528b3a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit bbcdcd7b7582b43ca4853e436df383ff9dda465a
Merge: 27f1790a d4349585
Author: Daniel Kutyła <daniel.kutyla at contractors.roche.com>
Date:   Mon Aug 17 20:37:55 2020 +0200

    16659: Added copy of full token, fixed tests
    
    Arvados-DCO-1.1-Signed-off-by: Daniel Kutyła <daniel.kutyla at contractors.roche.com>

diff --cc .env
index bd410081,bd410081..fd91b99c
--- a/.env
+++ b/.env
@@@ -1,5 -1,5 +1,5 @@@
  # Copyright (C) The Arvados Authors. All rights reserved.
--# 
++#
  # SPDX-License-Identifier: AGPL-3.0
  
  REACT_APP_ARVADOS_CONFIG_URL=/config.json
diff --cc src/views-components/current-token-dialog/current-token-dialog.test.tsx
index 188076d7,00000000..eb405e94
mode 100644,000000..100644
--- a/src/views-components/current-token-dialog/current-token-dialog.test.tsx
+++ b/src/views-components/current-token-dialog/current-token-dialog.test.tsx
@@@ -1,47 -1,0 +1,51 @@@
 +// Copyright (C) The Arvados Authors. All rights reserved.
 +//
 +// SPDX-License-Identifier: AGPL-3.0
 +
- import * as React from "react";
- import { shallow, configure } from "enzyme";
- import * as Adapter from "enzyme-adapter-react-16";
- import * as CopyToClipboard from "react-copy-to-clipboard";
- import { CurrentTokenDialogComponent } from "./current-token-dialog";
++import * as React from 'react';
++import { Button } from '@material-ui/core';
++import { mount, configure } from 'enzyme';
++import * as Adapter from 'enzyme-adapter-react-16';
++import * as CopyToClipboard from 'react-copy-to-clipboard';
++import { CurrentTokenDialogComponent } from './current-token-dialog';
 +
 +configure({ adapter: new Adapter() });
 +
- describe("<CurrentTokenDialog />", () => {
++jest.mock('toggle-selection', () => () => () => null);
++
++describe('<CurrentTokenDialog />', () => {
 +  let props;
 +  let wrapper;
 +
 +  beforeEach(() => {
 +    props = {
 +      classes: {},
 +      data: {
-         currentToken: "123123123123",
++        currentToken: '123123123123',
 +      },
++      open: true,
 +      dispatch: jest.fn(),
 +    };
 +  });
 +
-   describe("copy to clipboard", () => {
++  describe('copy to clipboard', () => {
 +    beforeEach(() => {
-       wrapper = shallow(<CurrentTokenDialogComponent {...props} />);
++      wrapper = mount(<CurrentTokenDialogComponent {...props} />);
 +    });
 +
-     it("should copy API TOKEN to the clipboard", () => {
++    it('should copy API TOKEN to the clipboard', () => {
 +      // when
-       wrapper.find(CopyToClipboard).props().onCopy();
++      wrapper.find(CopyToClipboard).find(Button).simulate('click');
 +
-       // then
++      // and
 +      expect(props.dispatch).toHaveBeenCalledWith({
 +        payload: {
 +          hideDuration: 2000,
 +          kind: 1,
-           message: "Token copied to clipboard",
++          message: 'Token copied to clipboard',
 +        },
-         type: "OPEN_SNACKBAR",
++        type: 'OPEN_SNACKBAR',
 +      });
 +    });
 +  });
 +});
diff --cc src/views-components/current-token-dialog/current-token-dialog.tsx
index 57b228f9,e5208d44..0ea24690
--- a/src/views-components/current-token-dialog/current-token-dialog.tsx
+++ b/src/views-components/current-token-dialog/current-token-dialog.tsx
@@@ -38,70 -31,51 +38,70 @@@ const styles: StyleRulesCallback<CssRul
      }
  });
  
 -type CurrentTokenProps = CurrentTokenDialogData & WithDialogProps<{}> & WithStyles<CssRules>;
 +type CurrentTokenProps = CurrentTokenDialogData & WithDialogProps<{}> & WithStyles<CssRules> & DispatchProp;
  
 -export const CurrentTokenDialog =
 -    withStyles(styles)(
 -    connect(getCurrentTokenDialogData)(
 -    withDialog(CURRENT_TOKEN_DIALOG_NAME)(
 -    class extends React.Component<CurrentTokenProps> {
 -        render() {
 -            const { classes, open, closeDialog, ...data } = this.props;
 -            return <Dialog
 -                open={open}
 -                onClose={closeDialog}
 -                fullWidth={true}
 -                maxWidth='md'>
 -                <DialogTitle>Current Token</DialogTitle>
 -                <DialogContent>
 -                    <Typography  paragraph={true}>
 -                        The Arvados API token is a secret key that enables the Arvados SDKs to access Arvados with the proper permissions.
 -                                <Typography component='p'>
 +export class CurrentTokenDialogComponent extends React.Component<CurrentTokenProps> {
 +    onCopy = (message: string) => {
 +        this.props.dispatch(snackbarActions.OPEN_SNACKBAR({
 +            message,
 +            hideDuration: 2000,
 +            kind: SnackbarKind.SUCCESS
 +        }));
 +    }
 +
 +    getSnippet = ({ apiHost, currentToken }: CurrentTokenDialogData) =>
 +        `HISTIGNORE=$HISTIGNORE:'export ARVADOS_API_TOKEN=*'
-     export ARVADOS_API_TOKEN=${currentToken}
-     export ARVADOS_API_HOST=${apiHost}
-     unset ARVADOS_API_HOST_INSECURE`
++export ARVADOS_API_TOKEN=${currentToken}
++export ARVADOS_API_HOST=${apiHost}
++unset ARVADOS_API_HOST_INSECURE`
 +
 +    render() {
 +        const { classes, open, closeDialog, ...data } = this.props;
 +        return <Dialog
 +            open={open}
 +            onClose={closeDialog}
 +            fullWidth={true}
 +            maxWidth='md'>
 +            <DialogTitle>Current Token</DialogTitle>
 +            <DialogContent>
 +                <Typography paragraph={true}>
 +                    The Arvados API token is a secret key that enables the Arvados SDKs to access Arvados with the proper permissions.
-                             <Typography component='p'>
-                         For more information see
-                                 <a href='http://doc.arvados.org/user/reference/api-tokens.html' target='blank' className={classes.link}>
-                             Getting an API token.
-                                 </a>
-                     </Typography>
++                        <Typography component='span'>
+                             For more information see
 -                                    <a href='http://doc.arvados.org/user/reference/api-tokens.html' target='blank' className={classes.link}>
++                            <a href='http://doc.arvados.org/user/reference/api-tokens.html' target='blank' className={classes.link}>
+                                 Getting an API token.
 -                                    </a>
++                            </a>
+                         </Typography>
 -                    </Typography>
 -                    <Typography  paragraph={true}>
 -                        Paste the following lines at a shell prompt to set up the necessary environment for Arvados SDKs to authenticate to your account.
 -                            </Typography>
 -                    <DefaultCodeSnippet lines={[getSnippet(data)]} />
 -                    <Typography >
 -                        Arvados
 -                                <a href='http://doc.arvados.org/user/reference/api-tokens.html' target='blank' className={classes.link}>virtual machines</a>
 -                        do this for you automatically. This setup is needed only when you use the API remotely (e.g., from your own workstation).
 -                            </Typography>
 -                </DialogContent>
 -                <DialogActions>
 -                    <Button onClick={closeDialog} className={classes.button} color="primary">CLOSE</Button>
 -                </DialogActions>
 -            </Dialog>;
 -        }
 +                </Typography>
 +                <Typography paragraph={true}>
-                     Paste the following lines at a shell prompt to set up the necessary environment for Arvados SDKs to authenticate to your klingenc account.
-                         </Typography>
++                    Paste the following lines at a shell prompt to set up the necessary environment for Arvados SDKs to authenticate to your account.
++                </Typography>
 +                <DefaultCodeSnippet lines={[this.getSnippet(data)]} />
-                 <CopyToClipboard text={data.currentToken} onCopy={() => this.onCopy('Token copied to clipboard')}>
++                <CopyToClipboard text={this.getSnippet(data)} onCopy={() => this.onCopy('Token copied to clipboard')}>
 +                    <Button
 +                        color="primary"
 +                        size="small"
 +                        variant="contained"
 +                        className={classes.copyButton}
 +                    >
-                         Copy Api Token
++                        COPY TO CLIPBOARD
 +                    </Button>
 +                </CopyToClipboard>
 +                <Typography >
 +                    Arvados
 +                            <a href='http://doc.arvados.org/user/reference/api-tokens.html' target='blank' className={classes.link}>virtual machines</a>
 +                    do this for you automatically. This setup is needed only when you use the API remotely (e.g., from your own workstation).
-                         </Typography>
++                </Typography>
 +            </DialogContent>
 +            <DialogActions>
 +                <Button onClick={closeDialog} className={classes.button} color="primary">CLOSE</Button>
 +            </DialogActions>
 +        </Dialog>;
      }
 -)));
 +}
 +
 +export const CurrentTokenDialog =
 +    withStyles(styles)(
 +        connect(getCurrentTokenDialogData)(
 +            withDialog(CURRENT_TOKEN_DIALOG_NAME)(CurrentTokenDialogComponent)));
  
 -const getSnippet = ({ apiHost, currentToken }: CurrentTokenDialogData) =>
 -`HISTIGNORE=$HISTIGNORE:'export ARVADOS_API_TOKEN=*'
 -export ARVADOS_API_TOKEN=${currentToken}
 -export ARVADOS_API_HOST=${apiHost}
 -unset ARVADOS_API_HOST_INSECURE`;

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list